ios - Phonegap/Cordova 在后台 IOS 中经过一段时间后停止音频

标签 ios cordova audio background

我有一个音频应用程序,可以使用 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:

请参阅此处的文档:

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 中播放音频的示例:

How to play a sound in objective C iphone coding

Play Audio iOS Objective-C

How can I Add Audio Player in iphone App

关于ios - Phonegap/Cordova 在后台 IOS 中经过一段时间后停止音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13963542/

相关文章:

android - 在 Android Studio 中导入 Cordova 项目

java - 如何检测音频流中特定单词的出现。

winapi - 使用C++中的Windows API分析音频

python - 在 Python Music21 库中播放鼓声

ios - 如何在 View Controller 中创建幻灯片动画?

javascript - PhoneGap 应用程序上 Apache Cordova 的 Windows Azure 通知中心插件 - WindowsAzure 未定义

iphone - 尝试让我的应用通用

ios - 请求 Facebook 好友返回空

ios - 如何等待具有完成 block 的方法(全部在主线程上)?

ios - 升级到 Xcode 6.1.1,现在 NSData(contentsOfURL :) always returns nil