现在的位置: 首页 > 综合 > 正文

处理声音流文件

2013年10月02日 ⁄ 综合 ⁄ 共 850字 ⁄ 字号 评论关闭

如果在仍加载声音文件或视频文件数据的同时回放该文件,则认为是流式传输。通常,将对
从远程服务器加载的外部声音文件进行流式传输,以使用户不必等待加载完所有声音数据再
收听声音。
SoundMixer.bufferTime 属性表示 Flash Player 在允许播放声音之前应收集多长时间的声
音数据(以毫秒为单位)。也就是说,如果将 bufferTime 属性设置为 5000,在开始播放
声音之前, Flash Player 将从声音文件中加载至少相当于 5000 毫秒的数据。
SoundMixer.bufferTime 默认值为 1000。
通过在加载声音时显式地指定新的 bufferTime 值,应用程序可以覆盖单个声音的全局
SoundMixer.bufferTime 值。要覆盖默认缓冲时间,请先创建一个新的
SoundLoaderContext 类实例,设置其 bufferTime 属性,然后将其作为参数传递给
Sound.load() 方法,如下所示:
import flash.media.Sound;
import flash.media.SoundLoaderContext;
import flash.net.URLRequest;
var s:Sound = new Sound();
var req:URLRequest = new URLRequest("bigSound.mp3");
var context:SoundLoaderContext = new SoundLoaderContext(8000, true);
s.load(req, context);
s.play();
当回放继续进行时, Flash Player 尝试将声音缓冲保持在相同大小或更大。如果声音数据的
加载速度比回放快,回放将继续进行而不会中断。但是,如果数据加载速率由于网络限制而
减慢,播放头可能会到达声音缓冲区的结尾。如果发生这种情况,将暂停回放,但会在加载
更多声音数据后自动恢复回放。
要查明暂停回放是否是由于 Flash Player 正在等待加载数据,请使用 Sound.isBuffering
属性。

抱歉!评论已关闭.