2010-06-05 16 views
1

J'essaie d'ajouter un point de repère à une vidéo en utilisant OSMF. J'ai construit un lecteur vidéo OSMF, et je voudrais l'utiliser à la place du composant FLVPlayback, qui semble être le seul moyen d'ajouter un cuepoint actionscript.OSMF - ajouter un cuepoint actionscript à une vidéo?

Quoi qu'il en soit, je créé un cuepoint en écrivant ceci:

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

      trace(cuePoint.time); 

Le temps cuepoint tracée à "1" (avec succès).

Je pris alors ce code de la documentation, pensant que ce serait aider à tracer le cuepoint quand je publiais mon film (pour tester la vidéo)

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

Cependant, je ne reçois pas un message de trace lorsque le la vidéo frappe 1 seconde. Quelqu'un peut-il m'aider?

+0

Avez-vous compris? J'ai ajouté un gestionnaire onCuePoint similaire à la façon dont vous l'avez fait, mais il n'attrape pas les points de repère. Vos points de repère ont-ils été ajoutés sur le serveur multimédia? –

Répondre

2

Je pense qu'il devrait être juste private function onMetadata.

+0

Vous savez quoi, ça a vraiment marché (j'ai d'autres réponses qui n'ont pas aidé) ... MERCI !! – redconservatory

+0

Cool. Si c'est la réponse, n'oubliez pas de me donner un chèque :) – adamcodes

1

Voici une autre façon d'ajouter cuepoints qui est un peu plus simple:

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

En gros:

  • créer votre joueur et contenant
  • ajouter votre élément vidéo sur votre lecteur
  • puis vous pouvez créer de nouvelles métadonnées chronologiques à partir de l'élément vidéo
  • puis vous pouvez ajouter une queue points