我正在制作一个简单的Apache Cordova mob应用程序(没有Ionic)。我正在使用cordova-plugin-media来播放声音效果。当我点击链接时,会加载另一个页面,这意味着上一页中的所有脚本都会被销毁,然后在下一页上加载。
当我点击链接时,我想发挥声音效果。代码看起来像这样:
var tapSoundEffect = new Media("/path/to/sound/file.m4a", onSuccess, onError);
function onLinkTap(nextPage){
tapSoundEffect.play();
window.location.assign(nextPage);
}
此代码效果不佳。它有时只播放声音效果(大约五次)。我假设这是由于页面加载和声音播放之间的竞争条件。
我希望这是并行发生的,但是由于新页面的加载,声音不应该被中断(或不播放)。 播放效果后,我不想使用回调来加载下一页。
我错过了什么吗?做这个的最好方式是什么?我愿意尝试不同的插件。