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. Только на айфоне

введите здесь описание изображения


person Yair hadad    schedule 20.12.2018    source источник


Ответы (1)


Попробуйте этот код

let airplayButton = MPVolumeView()
airplayButton.frame = CGRect(x: myX, y: myY, width: 40, height: 40)
airplayButton.showsVolumeSlider = false
customPlayerControls.view.addSubview(airplayButton)
person gopalm    schedule 20.12.2018
comment
какая у тебя основная проблема - person gopalm; 20.12.2018
comment
Как я писал на Ipad, параметры динамика (в MPVolumeView) не отображаются. (когда он всегда в айфоне) - person Yair hadad; 20.12.2018