Извлечение объекта метаданных из MediaElement (AS3) - PullRequest
0 голосов
/ 17 декабря 2010

Я пытаюсь получить метаданные из URLResource.URLResource не контролируется мной, но передается в функцию, которую я использую.

URLResource создается следующим образом:

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);

Теперь URLResource содержит метаданные.Я получу ресурс MediaElement.Как извлечь метаданные обратно?

Вот что показывает отладчик (media - это объект MediaElement, содержащий URLResource с метаданными):

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"

Я попытался извлечь объект метаданных с помощью:

media.resource.getMetadata("VideoParams");

и множество других попыток, но не могу понять, как получить эти проклятые метаданные.

Любые мысли с благодарностью!

1 Ответ

1 голос
/ 17 декабря 2010

На самом деле это оказалось довольно просто ... просто нужно было использовать функцию getMetadataValue в объекте URLResource следующим образом:

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