【发布时间】:2018-12-21 06:51:19
【问题描述】:
我正在使用 MPVolumeView 类在音频输出之间进行切换。 在 iPhone 中,您有 2 个启动选项(iPhone 和扬声器),而在 iPad 中,您只有 1 个选项(扬声器)
但是,当您在 iPad 上连接耳机时,没有扬声器选项,只有耳机。
(在 iPhone 中一切正常)
设置 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 上显示。仅在 iPhone 上
【问题讨论】:
标签: ios swift mpvolumeview