2017-06-24 14 views
0

別のアプリの音楽が再生されているときにバックグラウンドソングの再生を停止します。アップルの音楽やSpotifyなど。カラースイッチをダウンロードすると、私の言うことを知ることができます。現在、私は以下の方法を使用していますが、私のバックグラウンドソングは演奏中の音楽と混ざり合うことはありません。(この方法はリンゴの音楽では動作しますが、Spotifyでは動作しません)私は私の歌が無期限に他の音楽をバックグラウンドで再生されているまで再生すると、他の音楽が一時停止されたとき、それが再び開始するためにしたい。アップルの音楽/スポットがバックグラウンドで再生されているときに一時停止するスウィフトのバックグラウンドミュージック

おかげ

func setUpAudio() { 
     //dead = SKAction.playSoundFileNamed(SoundFile.dead, waitForCompletion: true) 
     // buttonpress = SKAction.playSoundFileNamed(SoundFile.button, waitForCompletion: true) 

     if GameScene.backgroundMusicPlayer == nil { 
      let backgroundMusicURL = Bundle.main.url(forResource: SoundFile.BackgroundMusic, withExtension: nil) 

      do { 
       let theme = try AVAudioPlayer(contentsOf: backgroundMusicURL!) 
       GameScene.backgroundMusicPlayer = theme 

      } catch { 
       // couldn't load file :[ 
      } 

      GameScene.backgroundMusicPlayer.numberOfLoops = -1 
     } 

     if !GameScene.backgroundMusicPlayer.isPlaying { 
      GameScene.backgroundMusicPlayer.play() 
     } 
     let audioSession = AVAudioSession.sharedInstance() 

     /*try!audioSession.setCategory(AVAudioSessionCategoryAmbient, with: AVAudioSessionCategoryOptions.mixWithOthers 
     )*/ 

     do { try!audioSession.setCategory(AVAudioSessionCategoryAmbient) 
     try AVAudioSession.sharedInstance().setActive(true) } 
     catch let error as NSError { print(error) } 
     //s audio from other sessions to be ducked (reduced in volume) while audio from this session plays 
    } 

答えて

0

あなたがセッションしている(カラー・スイッチでそれを試してみてください)カテゴリは混合が可能ですが、これはあなたが望むものではありません。 AVAudioSessionCategoryPlaybackまたはAVAudioSessionCategorySoloAmbientをお試しください。これらのアプリでは他のアプリとオーディオをミックスすることはできません。

See the docs for more info

+0

私は両方を試しました。彼らは私が上で説明した結果を私に与えることはありません。 – Yraw

+0

私は自分の音楽が第三者のものではなく止めたいと思っています。 – Yraw

0

あなたはアクティブにAVAudioSessionを設定する必要があります。

let _ = try? AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) 
    let _ = try? AVAudioSession.sharedInstance().setActive(true) 
関連する問題