2015-11-20 56 views
0

有其他人有此問題嗎?iOS 9無法播放下載到設備的音頻/視頻文件

當我使用cordova媒體插件在iOS上播放mp3文件時,我沒有收到任何錯誤或響應,說明它爲什麼不起作用。

我已經得到了ngCordova媒體插件工作在我的應用程序在我的ios模擬器,使用外部URL播放音頻文件...但是,我試圖建立一些功能,基本上你下載MP3從外部來源,將其保存到您的設備,然後從那裏播放該文件。儘管我可以驗證該文件是否存在,但似乎無法使其正常工作。這裏是我的功能代碼:

$scope.playAudio = function() { 
    document.addEventListener('deviceready', function() { 
    var src = cordova.file.dataDirectory + fileSrc; 
    var media = $cordovaMedia.newMedia(src); 
    var iOSPlayOptions = { 
      numberOfLoops: 1, 
      playAudioWhenScreenIsLocked : true 
    }; 
     media.play(iOSPlayOptions); // iOS only! 
     media.play(); // Android 
}); 

} 我要指出,這個功能請問我的Android設備上工作,但我的兩個IOS模擬器和真正的設備,它絕對沒有。

我要指出,我使用的是iOS 9和Xcode的7.1

任何人都有,試圖發揮他們的本地設備的音頻或視頻文件的任何問題,在他們的應用程序?

回答

1

所以看起來我能夠解決當地的文件路徑使用$ window.resolveLocalFileSystemURL()和src.toInternalURL()內部URL來解決問題的功能

$scope.playAudio = function() { 
    document.addEventListener('deviceready', function() { 
     var src = cordova.file.dataDirectory + fileSrc; 
     $window.resolveLocalFileSystemURL(src, function(dir){ 

     basePath = dir.toInternalURL(); 

     media = $cordovaMedia.newMedia(basePath); 
     var iOSPlayOptions = { 
      numberOfLoops: 1, 
      playAudioWhenScreenIsLocked : true 
     }; 

     $scope.data.playing = true; 

     media.play(iOSPlayOptions); // iOS only! 
     //media.play(); // Android 
     }) 
    }); 
}