2009-11-04 5 views
16

私のiPod Touchでは、AVAudioPlayerを使用して短いwavファイルを再生すると、音楽が一時停止することに気がつきました。これは正常ですか?iPhoneのAVAudioPlayerバックグラウンドミュージックを停止する

私はこれを参照することができませんし、どこかに記載されているようです。私のサウンドを演奏している間に音楽を続ける方法はありますか?

+0

ケニーあなたの受け入れられた答えを変更してください。0 :) –

答えて

12

The AudioSession API has been completely deprecated in iOS 7.0

あなたはもう少し作業を行うことなく、同時にAVAudioPlayerとiPodプレーヤーやMPMusicPlayerまたはMPMoviePlayerを実行することはできません。簡単にしたい場合は、Audio Toolboxのシステムサウンドを使用してください。

あなたには、いくつかの余分な作業をしたい場合は、あなたがAudio Sessionsになります。そのようなので、上のタッチ フィードバック、爆発、およびなどの効果音については

kAudioSessionCategory_UserInterfaceSoundEffects を。あなたの代わりに を使用する必要があります kAudioSessionCategory_AmbientSound カテゴリ、相当

kAudioSessionCategory_UserInterfaceSoundEffects カテゴリは、iPhone OS 3.0では非推奨です。

kAudioSessionCategory_AmbientSound 雨などの長時間の音の場合は、車のノイズ 、エンジンノイズなどがあります。また、「再生する」スタイルのアプリケーションの場合は 、 の場合は、ユーザーがiPodオーディオで を再生するようなバーチャルピアノです。

このカテゴリを使用すると、 iPodなどの組み込みアプリケーションの のオーディオがオーディオとミックスされます。 の音声は、Ring/Silentスイッチがサイレントに設定されている場合、または 画面がロックされている場合に消音されます。

68

基本的に、すべてのアプリケーションには、アプリケーションの起動時に取得してパラメータを設定できるシングルトンクラスとしてモデル化されたオーディオセッションが割り当てられます。

のObjective-C:

[[AVAudioSession sharedInstance]setCategory:AVAudioSessionCategoryAmbient error:nil]; 

スイフト2/3:私は同じ問題を修正方法はapplicationDidFinishLaunchingに配置されたコードの単一のラインを介した応じ

try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient) 
+4

これは受け入れられた答えでなければなりません。それはポイントと答えのOPの特定の質問 – er0

+0

これも私のために働いたことを確認することができます – barfoon

+0

驚くばかり!これは私のSpriteKitゲームにはうってつけでした。ありがとう! –

0

あなたの要求に応じて、システム音を鳴らすだけでは十分ではないかもしれません。例えば、セッションオプションを見てください。 MixWithOthers

struct AVAudioSessionCategoryOptions : OptionSetType { 
    init(rawValue rawValue: UInt) 
    static var MixWithOthers: AVAudioSessionCategoryOptions { get } 
    static var DuckOthers: AVAudioSessionCategoryOptions { get } 
    static var AllowBluetooth: AVAudioSessionCategoryOptions { get } 
    static var DefaultToSpeaker: AVAudioSessionCategoryOptions { get } 
    static var InterruptSpokenAudioAndMixWithOthers: AVAudioSessionCategoryOptions { get } 
} 

あなたは、あなたのセッションを開始MixWithOthersオプションを渡し、多分DuckOthersは(サウンドの再生時にiPodの音量をドロップします)別のオプションです。