Media.release()如何运作。看看文档,你觉得你必须像这样使用它:
MediaService.loadMedia('sounds/connection-error.wav').then(function(media){
media.play();
media.release();
});
但我用Google搜索知道这是错误的。我们必须在Android上明确发布核心实例。
但是怎么做?如果我在我的应用程序中有8个视图,并且如果我在每个视图上播放声音文件,那么是否会被视为正在使用的8个核心实例?我可以回去说1号视图并再次播放与该视图相关的声音吗?如果是这样,那会算作第9个实例吗?
如上所述直接呼叫media.release()
根本不会发出任何声音。
答案 0 :(得分:1)
使用Cordova Media插件播放声音的最常用方法如下:
function playAudio(src) {
// HTML5 Audio
if (typeof Audio != "undefined") {
new Audio(src).play() ;
// Phonegap media
} else if (typeof device != "undefined") {
// Android needs the search path explicitly specified
if (device.platform == 'Android') {
src = '/android_asset/www/' + src;
}
var mediaRes = new Media(src,
function onSuccess() {
// release the media resource once finished playing
mediaRes.release();
},
function onError(e){
console.log("error playing sound: " + JSON.stringify(e));
});
mediaRes.play();
} else {
console.log("no sound API to play: " + src);
}
}