播放预装的MP4

时间:2014-04-13 13:36:17

标签: actionscript-3 audio

我试图实现MP4(或更具体的M4A)声音的无缝循环。加载,播放到最后,然后寻找零位的常用方法会在第二次播放开始之前产生一个小延迟(小于一秒)。

所以现在我试图预加载声音数据,然后使用NetStream.appendBytes()在原始声音的末尾附加整个声音数据,期望声音重复一次。但首先,我希望能够使用appendBytes()方法播放一次声音。这是我写的代码,它没有给出任何错误,但也没有发出声音:

var data:ByteArray = new SoundData; // SoundData class contains the embedded M4A file data
var connection: NetConnection = new NetConnection();
connection.connect(null);
var stream: NetStream = new NetStream(connection);
stream.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
stream.client = {};

function onNetStatus(event:NetStatusEvent): void {
    trace(event.info.code, stream.time, stream.bytesLoaded, stream.bytesTotal);
}

stream.play(null);
stream.appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN);
stream.appendBytes(data);

我正确使用appendBytes()吗?

1 个答案:

答案 0 :(得分:1)

我最终使用黑客来实现明显的无缝循环:通过NetStream加载两个声音文件,播放一个,在结束前100毫秒,开始播放另一个。