0

我有一个音频应用程序,它使用 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 });

但我更喜欢添加本机代码,我可以将所有音频设置为在 3 小时后停止,而不是根据时间来解决 - 但不确定是否要查看甚至放置代码。关键是它必须在锁定或应用程序处于后台时工作(目前我设置了正确的后台模式,因此音频将在 BG 中播放)。

是否有与后台兼容的本机计时器?

4

1 回答 1

1

如果你热衷于在 Objective-C(不是你选择的语言)里面编辑 app delegate.m

- (void)applicationDidEnterBackground:(UIApplication *)application停止音频但延迟使用

– performSelector:withObject:afterDelay:

请参阅此处的文档:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/Reference/Reference.html

有关如何在 Objective-C 中播放音频的示例:

如何在Objective C iphone编码中播放声音

播放音频 iOS Objective-C

如何在 iphone App 中添加音频播放器

于 2012-12-20T13:29:02.143 回答