我有一个音频应用程序,可以使用 Cordova 2.2 及其音频 API 循环播放声音。 目前,我已经设置了多个循环,这些循环将根据预定时间(按每个循环 n 秒/3 小时计算)完成后停止。这个方法一般都有效。
playMainAudio = new Media(url,
// success callback
function() {
console.log("playAudio():Audio Success");
},
// error callback
function(err) {
console.log("playAudio():Audio Error: "+err);
});
// Play audio
playMainAudio.play({ numberOfLoops: 123, playAudioWhenScreenIsLocked : true });
但我更喜欢添加 native 代码,我可以将所有音频设置为在 3 小时后停止,而不是根据时间计算出来 - 但不确定是否要查看甚至放置代码。问题是它必须在锁定或应用程序处于后台时才能工作(目前我设置了正确的后台模式,因此音频将在 BG 中播放)。
是否有与后台兼容的 native 计时器?
最佳答案
如果您热衷于在 Objective-C(不是您选择的语言)中编辑 app delegate.m
- (void)applicationDidEnterBackground:(UIApplication *)application
停止音频但延迟使用
-performSelector:withObject:afterDelay:
请参阅此处的文档:
有关如何在 Objective-C 中播放音频的示例:
关于ios - Phonegap/Cordova 在后台 IOS 中经过一段时间后停止音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13963542/