sam*_*ami 5 audio buffering angularjs cordova ionic-framework
如果我们使用下面的代码:
var media = new Media('url://...mp3', null, null, mediaStatusCallback);
media.play();
Run Code Online (Sandbox Code Playgroud)
那么这将首先下载洞 mp3 文件,然后播放它。但问题是,如果我们有一个大尺寸的音频文件,它会被卡住,直到它完成下载洞文件,这会延迟播放器或无法使用,但我想异步下载部分 mp3 文件作为数组缓冲区并使用cordova 媒体插件,直到音频文件的下一部分被下载。这将一直持续到在播放部分音频时下载了洞文件。
基本上它就像网络音频 API 用来缓冲音频但使用cordova媒体插件播放它一样。
var url = "sample_audio.mp3";
var request = new XMLHttpRequest();
request.open("GET", url, true);
request.responseType = "arraybuffer";
/* Asynchronous callback */
request.onload = function()
{
/* Create the sound source */
soundSource = context.createBufferSource();
/* Import callback function that provides PCM audio data decoded as an audio buffer */
context.decodeAudioData(request.response, function(buffer)
{
bufferData = buffer;
soundSource.buffer = bufferData;
}, this.onDecodeError);
};
request.send();
Run Code Online (Sandbox Code Playgroud)
有没有人可以帮助我实现这一目标?我已经被这个问题困住了一段时间。
提前致谢。