【问题标题】:MPVolumeView Isn't show speaker option on iPadMPVolumeView 在 iPad 上不显示扬声器选项
【发布时间】: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


    【解决方案1】:

    试试这个代码

    let airplayButton = MPVolumeView()
    airplayButton.frame = CGRect(x: myX, y: myY, width: 40, height: 40)
    airplayButton.showsVolumeSlider = false
    customPlayerControls.view.addSubview(airplayButton)
    

    【讨论】:

    • 你的主要问题是什么
    • 正如我在 Ipad 上写的扬声器选项(在 MPVolumeView 中)没有显示。 (当它总是在 iPhone 中时)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多