2010-12-17 10 views
0

Ich versuche, Metadaten von einer URLResource abzurufen. Die URLResource wird nicht von mir kontrolliert, sondern an eine Funktion übergeben, die ich verwende.Extrahieren von Metadatenobjekt von MediaElement (AS3)

Die URLResource wird wie folgt erstellt:

var resource:URLResource = new URLResource("http://mediapm.edgesuite.net/osmf/content/test/logo_animated.flv"); 

// Add Metadata for the URLResource 
var VideoParams:Object = { 
Name:"Logo Video", 
Owner:"Self", 
Duration:"1:25:20", 
category:"education" 
} 

resource.addMetadataValue("VideoParams", VideoParams); 
var media:MediaElement = factory.createMediaElement(resource); 

Nun ist die URLResource die Metadaten enthält. Ich erhalte eine MediaElement-Ressource. Wie extrahiere ich die Metadaten zurück?

Hier ist, was der Debugger zeigt (Medien sind ein Mediaelement-Objekt der URLResource w/Metadaten):

fdb>print media.resource. 
$1 = [Object 246396705, class='org.osmf.media::URLResource'] 
_mediaType = null 
_metadata = [Object 416970209, class='flash.utils::Dictionary'] 
_mimeType = null 
url = "http://mediapm.edgesuite.net/osmf/content/test/logo_animated.flv" 
fdb>print media.resource._metadata. 
$2 = metadata = [Object 416970209, class='flash.utils::Dictionary'] 
VideoParams = [Object 416970305, class='Object'] 
(fdb)print media.resource._metadata.VideoParams. 
$3 = VideoParams = [Object 416970305, class='Object'] 
category = "education" 
Duration = "1:25:20" 
Owner = "Self" 
Name = "Logo Video" 

ich mit dem Metadatenobjekt versucht habe, zu extrahieren:

media.resource.getMetadata("VideoParams"); 

und eine Vielzahl von anderen Versuchen, aber kann nicht herausfinden, wie man zu diesen verdammten Metadaten kommt.

Alle Gedanken sehr geschätzt!

Antwort

1

Dies erwies eigentlich ziemlich einfach zu sein, aus ... nur erforderlich, wie dies die getMetadataValue Funktion im URLResource Objekt zu verwenden:

var temp:Object = media.resource.getMetadataValue("VideoParams"); 
trace('Owner:', temp.Owner);