2009-11-18 4 views
0

J'ai un lecteur en Flash ActionScript 3. Je dois prendre le temps total du fichier son et l'heure actuelle du fichier son. Mon code:Obtenez le temps total et l'heure actuelle du son?

function onPlayProgress(evt:Event):void { 
      var sndLength:int = Math.ceil(snd.length /(snd.bytesLoaded/snd.bytesTotal)); 
      var seekbar = 100 * (channel.position/sndLength); 
      playBar.seekbar.x = seekbar*5.8; 
      var _totalTime:Number = (((snd.length /(snd.bytesLoaded/snd.bytesTotal))*0.001/60)); 

Quelle est l'heure?

Répondre

3

Je ne suis pas tout à fait clair sur ce que l'exemple de code que vous avez fourni tente de communiquer, mais si vous voulez obtenir la position actuelle d'un son qui joue que vous feriez quelque chose comme ceci:

protected var sound:Sound; 
protected var soundChannel:SoundChannel; 

protected function loadSound():void 
{ 
    sound = new Sound(new URLRequest("path_to_sound.mp3")); 
    sound.addEventListener(Event.COMPLETE, onSoundLoadComplete); 
{ 

protected function onSoundLoadComplete(e:Event):void 
{ 
    sound.removeEventListener(Event.COMPLETE, onSoundLoadComplete); 
    soundChannel = sound.play(); 
    addEventListener(Event.ENTER_FRAME, onEnterFrame); 
} 

//Calculuate the sound time 
protected function onEnterFrame(e:Event):void 
{ 
    var minutes:uint = Math.floor(soundChannel.position/1000/60); 
    var seconds:uint = Math.floor(soundChannel.position/1000) % 60; 
    trace('position: ' + minutes + ':' + seconds);   
}; 
+0

ok je suis arrivé, mais comment puis-je convertir cela en minute :( – coderex

+0

Merci verymuch – coderex

+0

comment puis-u obtenir le temps total? – coderex

0

Je ne pense pas. sound.length ne peut pas être considéré comme le temps total, c'est la durée totale du flux chargé. Si vous déboguez le code, vous verrez que sound.length change jusqu'à ce que l'audio soit totalement chargé. Mais je n'ai aucune idée d'obtenir le temps total encore ... Je le calcule comme ceci, estimatedTotalTimeLength = sound.bytesTotal/sound.bytesLoaded * sound.length;

Questions connexes