Cordova + iOS - 如何在应用程序在后台运行时播放音频文件?

时间:2015-03-19 13:27:36

标签: android ios cordova audio background

我有正在播放选定声音的Cordova应用程序。当应用程序离开用户而另一个应用程序正在前台时,我想连续播放声音。

我如何为iOS平台做到这一点?在Android上它默认工作正常。

非常感谢您的任何建议。

更新

我做了以下事情:

plist.info

<plist version="1.0">
  <dict>
    <string>UIBackgroundModes</string>
    <key>audio</key>

AppDelegate.m

/**
 * This is main kick off after the app inits, the views and Settings are setup here. (preferred - iOS4 and up)
 */
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
    AVAudioSession *audioSession = [AVAudioSession sharedInstance];
    BOOL ok;
    NSError *setCategoryError = nil;
    ok = [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];
    CGRect screenBounds = [[UIScreen mainScreen] bounds];

但结果相同。

2 个答案:

答案 0 :(得分:0)

首先,做那些我在this question写的东西。然后将AVFoundation导入AppDelegate.m #import <AVFoundation/AVFoundation.h>

然后将以下内容添加到application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions

AVAudioSession *audioSession = [AVAudioSession sharedInstance];
BOOL ok;
NSError *setCategoryError = nil;
ok = [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];

从这里找到https://github.com/devgeeks/ExampleHTML5AudioStreaming

并且

  

在真实设备中测试,而不是在模拟器中测试。背景音乐工作   有模拟器。

答案 1 :(得分:0)

我使用这个插件解决了它: https://github.com/katzer/cordova-plugin-background-mode