开发者

OSMF - add an actionscript cuepoint to a video?

I'm trying to add a cuepoint to a video using OSMF. I built an OSMF video player, and I'd like to use this in开发者_运维问答stead of the FLVPlayback component, which seems like the only way to add an actionscript cuepoint?

Anyhow, I created a cuepoint by writing this:

var cuePoint:CuePoint = new CuePoint(CuePointType.ACTIONSCRIPT, 1, "good point", null);
            videoElement.addEventListener(MediaElementEvent.METADATA_ADD, onMetadataAdd);

            trace(cuePoint.time);

The cuepoint time traced out to "1" (successful).

I then took this code from the documentation, thinking it would help trace the cuepoint when I published my movie (to test the video)

private function onMetadataAdd(event:MediaElementEvent):void
        {
            if (event.namespaceURL == CuePoint.DYNAMIC_CUEPOINTS_NAMESPACE)
            {
                var timelineMetadata:TimelineMetadata = videoElement.getMetadata(CuePoint.DYNAMIC_CUEPOINTS_NAMESPACE) as TimelineMetadata;
                timelineMetadata.addEventListener(TimelineMetadataEvent.MARKER_TIME_REACHED, onCuePoint);
            }
        }

        private function onCuePoint(event:TimelineMetadataEvent):void
        {
            var cuePoint:CuePoint = event.marker as CuePoint;
            trace("Cue Point at " + cuePoint.time);
        }

However, I don't get a trace message when the video hits 1 second. Can anyone help me?


I think it should be just private function onMetadata.


Here is another way to add cuepoints that's a little simpler:

    private function addVideoWithACuePoint()
    {
    url:String = "your-url";
    resource = new URLResource(url);
    videoElement = new VideoElement(resource);

    player = new MediaPlayer();
    player.media = videoElement;

    conainer = new MediaContainer(); 
    container.addMediaElement(videoElement);
    myTimelineMetadata = new TimelineMetadata(videoElement);
    myTimelineMetadata.addEventListener(TimelineMetadataEvent.MARKER_TIME_REACHED, onCuePointHandler, false, 0, true); 

   // add a cuepoint below:
    var cuePoint = new CuePoint(CuePointType.ACTIONSCRIPT,time, name, parameters);                  
    myTimelineMetadata.addMarker(cuePoint); 
}

Basically:

  • create your player and container
  • add your video element to your player
  • then you can create new timeline metadata from the video element
  • then you can add cuepoints
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜