我有一个音频应用程序,可以使用Cordova 2.2及其Audio 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 });
但我更喜欢添加本机代码,我可以将所有音频设置为在3小时后停止,而不是根据时间进行处理 - 但不确定是要查看甚至放置代码。问题是当它被锁定或应用程序在后台时必须工作(目前我设置了正确的背景模式,因此音频将在BG中播放)。
是否有与后台兼容的原生计时器?
答案 0 :(得分:1)
如果您热衷于在Objective-C(不是您选择的语言)中编辑app delegate.m
- (void)applicationDidEnterBackground:(UIApplication *)application
停止播放音频,但延迟使用
– performSelector:withObject:afterDelay:
请参阅此处的文档:
有关如何在Objective-C中播放音频的示例: