2011-12-11 16 views
8

私はいくつかのフォーラムを見て、満足のいく回答を得ることができませんでした。バックグラウンドミュージックを再生しながらビデオを再生して録画する

私の願いは、バックグラウンドで音楽を再生しながらビデオを再生して録画することです。 私は、私が見つけたスニペットの助けを借りてそれを行うことができました。ここでのコードは次のとおりです。

AVAudioSession *session = [AVAudioSession sharedInstance]; 
session.delegate = self; 

NSError *error = nil; 
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error]; 

OSStatus propertySetError = 0; 

UInt32 allowMixing = true; 

propertySetError = AudioSessionSetProperty (

              kAudioSessionProperty_OverrideCategoryMixWithOthers, // 1 

              sizeof (allowMixing),         // 2 

              &allowMixing           // 3 

              ); 
[session setActive:YES error:&error]; 

問題が記録している間、私は唯一のイヤースピーカーの代わりに、通常のスピーカーからBGMを聞くことができます。

レコーディングセッションが中断されないように、通常のスピーカーを機能させるにはどうすればよいですか?事前に

おかげで、

+0

この問題を解決しましたか? – shabbirv

+0

ここで行ったことのサンプルコードがありますか? – Jatin

答えて

3

あなたは* kAudioSessionProperty_OverrideCategoryMixWithOthersとseesionカテゴリを上書きすることは(フロントエンドカメラ以外)デバイスの上面に小さなスピーカーを使用しています*。通常のスピーカーを出力デバイスとして使用するには、オーディオセッションの出力ルートをリダイレクトする必要があります。次はあなたの上記でこのコードを交換し、それが動作します。この

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; 

AudioSessionSetProperty ( 
    kAudioSessionProperty_OverrideAudioRoute,       
    sizeof (audioRouteOverride),          
    &audioRouteOverride            
); 

を達成するためのコードスニペットです。アップルデベロッパーポータルでさらにRedirect Output Audioを参照することができます。

+1

はios 8で動作しますか? –

関連する問題