channel.position永远不等于as3中的sound.length

时间:2011-08-16 06:00:16

标签: flash audio position channel

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
}

/ - 任何人都可以告诉我为什么'和Channel.position / and.length n#39;总是不到1?这是一个错误吗?如何解决这个错误?谢谢... - /

1 个答案:

答案 0 :(得分:0)

我对真正的问题感到困惑,但是例如sndChannel.position可以例如介于1和100之间(仅作为示例)。在这个例子中,snd.length是100。所以你得到的位置例如50除以100它给你的0.5小于1.这意味着你通过声音片段是50%。我在这里看不到任何错误或问题?你想要实现什么目标?

woops,只是阅读标题...发布跟踪,有什么价值?