MPVolumeView Не отображать опцию динамика на iPad
Я использую класс MPVolumeView для переключения между аудио выходами. В iPhone у вас есть 2 варианта при запуске (iPhone и динамик), а в iPad у вас есть только 1 вариант (динамик)
Но когда вы подключаете наушники на iPad, вы можете выбрать только динамики.
(В айфоне все хорошо работает)
Установите MPVolumeView:
private func setUI(){
let myVolumeView = MPVolumeView(frame: self.speakerButton.bounds)
myVolumeView.showsVolumeSlider = false
myVolumeView.setRouteButtonImage(nil, for: .normal)
self.speakerButton.addSubview(myVolumeView)
}
Сеанс сборки:
try session.setPreferredSampleRate(Double(DefaultAudioDevice.kSampleRate))
try session.setPreferredIOBufferDuration(0.01)
let audioOptions = AVAudioSessionCategoryOptions.allowBluetooth.rawValue
try session.setCategory(AVAudioSessionCategoryPlayAndRecord, mode: AVAudioSessionModeVoiceChat, options: AVAudioSessionCategoryOptions(rawValue: audioOptions))
try session.setActive(true)
try session.overrideOutputAudioPort(AVAudioSessionPortOverride.speaker)
Я пытаюсь: - Добавить AVAudioSessionCategoryOptions.defaultToSpeaker - Изменить на AVAudioSessionCategoryPlayAndRecord - Удалить session.overrideOutputAudioPort(AVAudioSessionPortOverride.speaker)
Опция динамика никогда не отображается на iPad. Только на айфон
1 ответ
Попробуйте этот код
let airplayButton = MPVolumeView()
airplayButton.frame = CGRect(x: myX, y: myY, width: 40, height: 40)
airplayButton.showsVolumeSlider = false
customPlayerControls.view.addSubview(airplayButton)