2009-03-16 4 views

Répondre

1

Vous n'avez pas spécifié la version d'actionscript utilisée, donc je suppose que vous utilisez as3.

Vous pourriez

  1. points d'utilisation de repère intégrés dans le flv (ajouté lors de la création du flv)
  2. si vous utilisez le composant FLVPlayer, utiliser des points de repère créés avec actionscript
  3. utilisent régulièrement Timer

Si vous n'avez pas accès à la création-la-flv-partie, la plus simple (et le plus inexact, mais je suppose que l'affichage d'un bouton n'a pas besoin de être précis à la milliseconde) serait la troisième solution. Si l'utilisateur n'a aucun contrôle sur la lecture (c'est-à-dire pause, rembobinage) et que la vidéo n'est pas diffusée sur le réseau, il suffit de démarrer/arrêter une minuterie avec la lecture. Si l'utilisateur peut mettre en pause et rembobiner la vidéo, vous devrez également arrêter et régler la minuterie chaque fois que l'utilisateur le fera. Si la vidéo est diffusée sur le réseau, vous devrez également tenir compte des pauses de mise en mémoire tampon.

1

Vous pouvez ajouter cuepoint et écouter pour eux avec:

_Player.AddEventListener(MetadataEvent.CUE_POINT, PlayerCuePoint); 

function PlayerCuePoint(e:MetadataEvent):void 
{ 
    _Button.visible = true; 
} 

Ou vous pouvez vérifier les progrès comme celui-ci:

const BUTTON_TIME:Number = 10; //Time in seconds 

_Player.AddEventListener(VideoEvent.PLAYHEAD_UPDATE, PlayerPlayheadUpdate); 

function PlayerPlayheadUpdate(e:VideoEvent):void 
{ 
    if(_Player.playheadTime >= BUTTON_TIME) 
     _Button.visible = true; 
} 
Questions connexes