plist を使用して、iOS アプリケーションをセットアップし、バックグラウンドで (= iOS デバイスで別のアプリケーションが使用されている場合に) オーディオを再生する方法を知っています。
いくつかのアプリケーションのような: - BLOOM - 一部のラジオ プレーヤー
この動作を有効または無効にする基本的な UISwitch を提供します。
それを行う方法についてのアイデアはありますか?
plist を使用して、iOS アプリケーションをセットアップし、バックグラウンドで (= iOS デバイスで別のアプリケーションが使用されている場合に) オーディオを再生する方法を知っています。
いくつかのアプリケーションのような: - BLOOM - 一部のラジオ プレーヤー
この動作を有効または無効にする基本的な UISwitch を提供します。
それを行う方法についてのアイデアはありますか?
オーディオ再生コードを処理するメイン クラスに UIBackgroundTaskIdentifier タイプの iVar を用意し、オーディオ プレーヤーを開始する前に beginBackgroundTaskWithExpirationHandler.... メソッドでこれを初期化し、オーディオ プレーヤーの完了時に 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];
}
したがって、オーディオはアプリがバックグラウンドに入るときに停止します。