channel.position никогда не бывает равным sound.length в as3 - PullRequest
0 голосов
/ 16 августа 2011
var snd:Sound = new Sound();
var t:Timer = new Timer(100);
var sndChannel:SoundChannel;
snd.addEventListener(Event.COMPLETE,onComplete);
t.addEventListener(TimerEvent.TIMER,onTimer);
snd.load(new URLRequest('some.mp3'));
function onComplete(e:Event):void
{
    sndChannel = snd.play();
    t.start();
    sndChannel.addEventListener(Event.SOUND_COMPLETE,onSndComplete);
}
function onTimer(e:TimerEvent):void
{
    trace(sndChannel.position/snd.length); // less than 1
}

function onSndComplete(e:Event):void
{
   trace(sndChannel.position/snd.length); // also less than 1
}

/ - Кто-нибудь может сказать мне, почему sndChannel.position / snd.length всегда меньше 1?Это ошибка?Как исправить эту ошибку?Спасибо ... - /

1 Ответ

0 голосов
/ 16 августа 2011

Я не совсем понимаю, в чем заключается настоящая проблема, но, например, sndChannel.position может, например, находиться в диапазоне от 1 до 100 (только пример).и snd.length в этом примере будет 100. Таким образом, вы получите положение, например, 50, разделенное на 100, это даст вам 0,5, что меньше 1. Это означает, что вы прошли 50% через аудиоклип.Я не вижу здесь никаких ошибок или проблем?чего вы пытаетесь достичь?

woops, просто прочитайте заголовок ... опубликуйте трассировку, каковы значения?

...