Ionic2 给定音频id的引用已存在,但引用不存在
嗨,我一直在使用cordova原生插件在我的应用程序中播放音频。我有音频列表,我为列表中的每个项目添加了播放和停止按钮 当我单击“播放”时,出现以下错误: 未处理的承诺拒绝:该承诺的引用不存在 指定的音频id;区域:;任务:空;值:引用 指定的音频id不存在。未定义 但有时我会发现:引用已经存在。虽然我的音频播放正常 谁能告诉我如何解决这些错误。我不希望这些警报之间停止我的应用程序本身Ionic2 给定音频id的引用已存在,但引用不存在,ionic2,Ionic2,嗨,我一直在使用cordova原生插件在我的应用程序中播放音频。我有音频列表,我为列表中的每个项目添加了播放和停止按钮 当我单击“播放”时,出现以下错误: 未处理的承诺拒绝:该承诺的引用不存在 指定的音频id;区域:;任务:空;值:引用 指定的音频id不存在。未定义 但有时我会发现:引用已经存在。虽然我的音频播放正常 谁能告诉我如何解决这些错误。我不希望这些警报之间停止我的应用程序本身 playAudio(id, source) { console.log(id + " " + sou
playAudio(id, source) {
console.log(id + " " + source);
this.nativeAudio.preloadSimple(id.toString(), source);
this.nativeAudio.play(id.toString());
}
简单的方法有什么问题吗。我也有同样的问题。为了解决这个问题,我在应用程序启动时预装了音频 在您的
app.component.ts
(Im使用ionic 3)中,检查平台是否准备就绪后,用以下内容预加载音频:
this.nativeAudio.preloadSimple('pin3', 'assets/audios/pin3Audio.mp3');
preload-simple
返回承诺:
this.nativeAudio.preloadSimple(id.toString(), source).then(
() => this.nativeAudio.play(id.toString())
);
我希望这是有帮助的。关于我已尝试过此方法,但此解决方案不起作用。请注意,我使用的是Ionic 2、angular 2和TypeScript。在我的情况下,一旦重新启动应用程序,这将导致相同的错误。问题是,在预加载之前,它正在播放音频,所以现在它是在then()方法中,所以音频将在预加载文件后播放。谢谢