我有带有angularjs的phonegap 3.5应用程序,我的index.mp3在我的根目录中有index.html文件 该应用程序在我的Android设备和phonegap应用程序中运行良好,但我无法播放song.mp3文件 我使用cordova媒体插件,它总是给我代码1错误 我也尝试了ngCordova插件相同的代码错误。 我的代码是
var src ="song.mp3";
// I tried also
// var src="/android_asset/www/song.mp3";
// and src ="file:///song.mp3";
var media = new Media(src,function(){
console.log("playing");
,function(err){
console.log(err.code);
});
media.play();
答案 0 :(得分:2)
Code = 1表示“已中止”(MediaError.MEDIA_ERR_ABORTED = 1)请参阅https://github.com/apache/cordova-plugin-media/blob/master/doc/index.md#constants-1
所以这通常意味着路径有问题。 song.mp3与index.html位于同一文件夹中吗?也许这会有所帮助:Playing local sound in phonegap
只有当您想从本地文件系统播放时才需要file://...
。
答案 1 :(得分:1)
它为我工作,我使用了带有以下脚本的cordova媒体插件
cordova插件添加org.apache.cordova.media
function getCordovaPath() {
var absolutePath = window.location.pathname;
//14 is length of html file name(including .html)
actualPath = absolutePath.substr( path, path.length - 14 );
return 'file://' + actualPath;
}
function playAudio() {
//var audioElement = document.getElementById(id);
//var url = audioElement.getAttribute('src');
var my_media = new Media(getCordovaPath() + 'beep.mp3',
// success callback
function () { console.log("playAudio():Audio Success"); },
// error callback
function (err) { console.log("playAudio():Audio Error: " + err); });
// Play audio
my_media.play();
}

<body onload="playAudio()">
&#13;