iOS 10 上的 cordova 媒体插件是否仍然支持后台播放?
Does background playback still work with cordova media plugin on iOS 10?
当蓝牙设备超出范围并且 iOS 设备处于待机状态(屏幕锁定)或应用程序最小化到后台。
我正在使用与 Cordova media plugin documentation 中的示例类似的函数,其中包含更正 Android 设备的音频文件路径的函数:
function getMediaURL(url) {
if(device.platform.toLowerCase() === "android") return "/android_asset/www/" + url;
return url;
};
function soundAlarm() {
var mediaUrl = getMediaURL('sounds/alarm.wav');
alarmSound = new Media( mediaUrl, null,
// error callback
function (err) {
console.log("playAudio():Audio Error: " + angular.toJson(err));
});
alarmSound.play({ playAudioWhenScreenIsLocked : true, numberOfLoops: 3 });
}
当应用程序在前台时,这工作正常但是当我锁定 phone 或最小化应用程序时,我收到以下错误:
{"message":"","code":4}
根据 Cordova media plugin documentation,错误代码 4 表示
MEDIA_ERR_NONE_SUPPORTED
我传递给 play 方法的 'playAudioWhenScreenIsLocked' 选项应该可以解决我遇到的问题,但是我每次都会收到上述错误。此外,这个 属性 默认设置为 true。
我不想必须使用后台模式插件,因为此功能应该通过 cordova 媒体插件开箱即用,而后台模式插件可能会导致 App 被 App Store 拒绝。
有没有人在应用程序处于后台或设备处于待机模式时触发音频成功?
我必须启用 'Background Modes' 并检查 Xcode 中的 'Audio, Airplay, and Picture in Picture' 才能正常工作。
当蓝牙设备超出范围并且 iOS 设备处于待机状态(屏幕锁定)或应用程序最小化到后台。
我正在使用与 Cordova media plugin documentation 中的示例类似的函数,其中包含更正 Android 设备的音频文件路径的函数:
function getMediaURL(url) {
if(device.platform.toLowerCase() === "android") return "/android_asset/www/" + url;
return url;
};
function soundAlarm() {
var mediaUrl = getMediaURL('sounds/alarm.wav');
alarmSound = new Media( mediaUrl, null,
// error callback
function (err) {
console.log("playAudio():Audio Error: " + angular.toJson(err));
});
alarmSound.play({ playAudioWhenScreenIsLocked : true, numberOfLoops: 3 });
}
当应用程序在前台时,这工作正常但是当我锁定 phone 或最小化应用程序时,我收到以下错误:
{"message":"","code":4}
根据 Cordova media plugin documentation,错误代码 4 表示
MEDIA_ERR_NONE_SUPPORTED
我传递给 play 方法的 'playAudioWhenScreenIsLocked' 选项应该可以解决我遇到的问题,但是我每次都会收到上述错误。此外,这个 属性 默认设置为 true。
我不想必须使用后台模式插件,因为此功能应该通过 cordova 媒体插件开箱即用,而后台模式插件可能会导致 App 被 App Store 拒绝。
有没有人在应用程序处于后台或设备处于待机模式时触发音频成功?
我必须启用 'Background Modes' 并检查 Xcode 中的 'Audio, Airplay, and Picture in Picture' 才能正常工作。