我可以使用 ng-cordova 媒体插件在 ionic 中将音频作为 arrayBuffer 播放吗?

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)

有没有人可以帮助我实现这一目标?我已经被这个问题困住了一段时间。

提前致谢。