我试图在移动混合应用中播放声音(cordova,ionic,howlerJS v 2),https://github.com/goldfire/howler.js/tree/2.0
通过这种方式:
$scope.playSelectedItem = function(index) {
try {
var fileName = $scope.selectedSounds[index].file;
var filePath = "sounds/" +fileName+".mp3";
console.log(filePath);
var sound = new Howl({
src: [filePath]
});
sound.play();
} catch(e) {
$scope.showAlert();
}
};
在Chrome移动模拟器中,一切正常,但在设备上声音无法播放。 我在manifest.xml中检查了应用程序权限,并且声音播放不需要任何特殊权限。
我做错了什么?
感谢您的帮助。
答案 0 :(得分:0)
尝试使用Cordova提供的Media Plugin:
my_media = new Media('/android_asset/www/sound.mp3',
// success callback
function() {
WL.Logger.debug("playAudio():Audio Success");
},
// error callback
function(err) {
WL.Logger.debug("playAudio():Audio Error: " + JSON.stringify(err));
});
// Play audio
my_media.play();
确保添加'/ android_asset'然后添加声音文件的路径。 Android需要一个绝对路径来查找文件并进行播放。