iOS 9 无法播放下载到设备的 audio/video 个文件
iOS 9 can’t play audio/video files that are downloaded to device
还有其他人遇到过这个问题吗?
当我使用 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
其他人在尝试在他们的应用程序中播放本地设备上的音频或视频文件时遇到过任何问题吗?
所以看起来我能够通过使用 $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
})
});
}
还有其他人遇到过这个问题吗?
当我使用 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
其他人在尝试在他们的应用程序中播放本地设备上的音频或视频文件时遇到过任何问题吗?
所以看起来我能够通过使用 $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
})
});
}