2015-11-20 57 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 
     }) 
    }); 
}