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)
Другие вопросы по тегам