我们如何在iOS设备上运行时处理启用/禁用背景audiofunction?

我知道如何设置我的iOS应用程序,使其使用plist在后台播放audio(=在iOS设备上使用另一个应用程序时)。

一些应用程序,如: – 布卢姆 – 一些广播播放器

提供了一个基本的UISwitch来启用或禁用此行为。

任何想法如何做到这一点?

在处理audio播放代码的主类中有一个types为UIBackgroundTaskIdentifier的iVar,在启动audio播放器之前使用beginBackgroundTaskWithExpirationHandler ….方法对此进行初始化,并在audio播放器完成时使用endBackgroundTask。

码:

@inerface AudioPlayerController : NSObject { UIBackgroundTaskIdentifier bgTaskID; } @end @implementation AudioPlayerController - (void) startPlayer { bgTaskID = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:NULL]; // Write code to start the audio player } // Call this when your program receives message of audio playing complete - (void) audioPlayComplete { // Do the audio playing finish if (bgTaskID != UIBackgroundTaskInvalid) [[UIApplication sharedApplication] endBackgroundTask:bgTaskID]; } @end 

在您的AppDeletate中:

 - (void)applicationDidEnterBackground:(UIApplication *)application { [[YouPlayerClass sharedInstance] stop]; } 

因此,audio停止在应用程序进入后台。