2012-05-08 11 views
0

私はiOSアプリケーションを設定して、plistを使ってバックグラウンドでオーディオを再生する方法を知っています(iOSデバイスで別のアプリケーションを使用しているとき)。iOSデバイスで実行時にバックグラウンドオーディオ機能を有効/無効にする方法は?

のようないくつかのアプリケーション: - BLOOM - いくつかのラジオプレーヤー

は、この動作を有効または無効にするための基本的なUISwitchを提供します。

どのようにすればいいですか?

答えて

4

オーディオ再生コードを処理するメインクラスにタイプUIBackgroundTaskIdentifierのiVarを用意し、オーディオプレーヤーを開始する前にbeginBackgroundTaskWithExpirationHandler ....メソッドで初期化し、オーディオプレーヤーが完了するとendBackgroundTaskを使用します。

コード:あなたのAppDeletateで

@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 
+0

私はそれをテストします。しかし、この背景機能を有効または無効にするUISwitchには答えません。つまり、ユーザーはバックグラウンドでオーディオプレーヤーとしてこのアプリを使用したいと考えています。彼は欲しくない、彼はそれを無効にし、その場合、彼は別のアプリケーションに切り替えると、バックグラウンドでのオーディオの再生はもうありません。 – gluon

+0

上記のコードは、プログラムによるバックグラウンドオーディオ再生をどのように行うことができるかを示すためのコードです。 UISwitchを使用して有効または無効にするには、別のBOOL iVarを使用し、条件付きでバックグラウンドタスクのコードを記述します。 –

0

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

は、このように音声がアプリに入るバックグラウンドで停止します。

関連する問題