2011-01-08 4 views
0

iPod用のアプリケーションを構築しています。 これを実行すると、ネイティブのiPodミュージックアプリはバックグラウンドで再生を続ける必要がありますが、これは起こっていません。iPod - ネイティブミュージックアプリにバックグラウンドでサウンドを再生させます

私のアプリで演奏される音と関係があるかもしれないと思います。特定のポイントで短い音を再生するために、私はAVAudioPlayerを使用しています。コードは次のようになります。

NSString *path = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"]; 
     NSLog(@"%@", path); 
     player = [[AVAudioPlayer alloc] initWithData:[NSData dataWithContentsOfFile:path] error:nil]; 
     [player prepareToPlay]; 
     [player play]; 

これはiPodのネイティブミュージックプレーヤーを妨害しますか? もう一つのこと。私のアプリでは、私はAdWhirlを統合し、それはAudioToolboxを使用するように見えます。

どうもありがとう、 ジョージ

答えて

1

あなたは周囲のカテゴリを使用するようにAVAudioSessionを設定する必要があります。これは、サウンドが既に再生中のサウンドと混ざり合うようにシステムに指示します。 iOS 4でこれを行う最善の方法は、次のようなアプリケーションデリゲートにあります。

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; 
    // ... 
} 

- (void)applicationDidBecomeActive:(UIApplication *)application { 
    // reactivate audio session 
    [[AVAudioSession sharedInstance] setActive: YES error: nil]; 
} 

オーディオセッションで読むことができます。あなたのアプリケーションがサウンドを生成する場合は、常にがオーディオセッションを意識してコントロールしたいと思っています。

関連する問題