あけましておめでとうございます。
下記、お力添え頂けますと幸いです。
iPhone上部のスピーカー(Ear Speaker)とAirpods(Bluetooth)の出力の切り替えが出来ず困っています。
上部のスピーカーは、電話の際などに使われる小音のスピーカーです。
Aボタンを押したらEar Speakerで再生、Bボタンを押したらAirpodsで再生するようにしています。
上部スピーカーでの再生は、下記コードでうまくいきます。
Swift
1//Aボタン 2try audioSession.overrideOutputAudioPort(AVAudioSession.PortOverride.none)
Bluetoothも使用できるようにするために、別箇所に下記コードも記載し、Bボタンを押すとBluetooth再生されます。
Swift
1//Bボタン 2do { 3 try? AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback, options: AVAudioSession.CategoryOptions.allowBluetooth) 4 } catch { 5}
しかしながら、Bボタンを押した後に、Aボタンを押すと、上部スピーカーではなくメインの大音量のスピーカーで再生されてしまいます。一度Bluetoothのコードを経てしまうと、デフォルトでメインのスピーカーがセットされてしまうようです。Aボタンを押したらもう一度 PortOverride.noneで上書きできると思っていたので、不可解です。もちろん、Bボタンを押さずに最初からAボタンだけ押した場合は、上部スピーカー再生されます。
何かお気づきの点がございましたら、ご助言もらえますと大変幸いです。
何卒よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。