Actionscript loadSound:don';t在播放之前不要等待整个下载,但不要让它自动启动

Actionscript loadSound:don';t在播放之前不要等待整个下载,但不要让它自动启动,actionscript,actionscript-2,Actionscript,Actionscript 2,我正在尝试使用Actionscript 2播放MP3。我有以下要求: 我不想等MP3加载后再播放 我想知道什么时候有足够的MP3下载,我可以开始播放它 我不希望MP3立即开始播放:我需要控制播放何时开始 一个示例场景是,我需要在8秒钟后开始播放30秒的MP3(比如说,在一分钟的顶端)。根据连接的不同,到那时我可能会下载整个MP3,也可能不会,但我几乎可以肯定地下载足够的内容,可以不间断地开始播放 我能看到的最接近的方法是Sound.loadSound(url,isStreamable)。但是

我正在尝试使用Actionscript 2播放MP3。我有以下要求:

  • 我不想等MP3加载后再播放
  • 我想知道什么时候有足够的MP3下载,我可以开始播放它
  • 我不希望MP3立即开始播放:我需要控制播放何时开始
一个示例场景是,我需要在8秒钟后开始播放30秒的MP3(比如说,在一分钟的顶端)。根据连接的不同,到那时我可能会下载整个MP3,也可能不会,但我几乎可以肯定地下载足够的内容,可以不间断地开始播放

我能看到的最接近的方法是
Sound.loadSound(url,isStreamable)
。但是,如果我将
isStreamable
参数的值设为true,声音将立即开始播放(文档中说:当收到足够的数据启动解压器时,播放开始)

我尝试了以下方法:

  • 调用mySound.loadSound(mp3Url,true)
  • mySound.stop()//这样就不会自动播放了
  • 将计时器设置为一分钟的顶端(从现在起8秒)
  • 在计时器中,检查声音的持续时间(随着文件加载,声音会继续变大)。如果持续时间小于5秒,我们没有足够的缓冲声音,因此生成错误。否则,使用
    s.start(0)
    开始播放声音

  • 我看到的行为是,声音直到完全下载后才开始播放。

    我不相信使用ActionScript 2可以做到这一点。我想你要么转到AS3,要么把MP3包在SWF里

    即使使用AS3,为了使用刚刚添加的新声音方法和事件(sound.extract和Event.SAMPLE_DATA),您可能也必须以FP10为目标

    一般来说,Flash中的声音功能在最新版本的播放器之前已经落后了。

    我发现了你的帖子(现在有点老了,但……无论如何):

    您可以在Sound类中使用两个选项:

    Sound.getBytesTotal 
    

    如果比较这两者,可以得到某个时间点加载的字节数。(另请参见
    Sound.onLoad
    Sound.onSoundComplete
    ,这两个选项很有用)

    Flash帮助中也有一些例子

    您好

    德拉科

    Sound.getBytesLoaded