如果我们使用下面的代码:
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)
有没有人可以帮助我实现这一目标?我已经被这个问题困住了一段时间。 …
我试图在react-native应用上添加推送通知,所以我使用了react-native-push-notification。库配置运行良好,但是在收到通知时,APP崩溃,并立即提示“ FirebaseApp未初始化”。
崩溃报告 AndroidRuntime:java.lang.IllegalStateException:在此com.myapp中未初始化默认FirebaseApp。确保首先调用FirebaseApp.initializeApp(Context)。
如何初始化FirebaseApp或解决此问题?任何帮助将不胜感激。
有关更多信息,请参见Github问题https://github.com/zo0r/react-native-push-notification/issues/852
android firebase react-native firebase-cloud-messaging react-native-push-notification