2014-11-15 1 views
3

anglejs와 함께 내 phonegap 3.5 앱이 있고 index.html 파일과 함께 내 루트 디렉토리에 내 song.mp3이 있습니다. 앱이 내 안드로이드 기기와 phonegap 애플리케이션에서 훌륭하게 작동하지만, song.mp3 파일을 재생할 수 없습니다. 코드바 미디어 플러그인을 사용하면 항상 코드 1 오류가 발생합니다. ngCordova 플러그인과 동일한 코드 오류가 발생했습니다. 내 코드는 "중단"phonegap 3.5 로컬 오디오 파일 재생

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

안녕을 org.apache.cordova.media 추가, 내가 직면하고있다 같은 문제. 어떻게 IOS에서 로컬 파일의 경로를 얻었습니까? http://stackoverflow.com/questions/28339389/how-to-get-path-for-local-mp3-file-from-www-in-phonegap-ios?noredirect=1#comment45024148_28339389 –

답변

2

코드 = 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

코르도바 플러그인

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()">