快速选择音频设备输出(如 Waze)

GIJ*_*JOW 6 iphone audio ios swift

我正在网上挖掘,试图找到一些线索来实现这一目标,但没有成功。

我正在尝试向用户显示像 Waze 那样的弹出窗口,以允许用户选择音频输出设备、音量等。

它似乎是一些 API,因为它在 iOS11 上完全显示为声音小部件。

在此处输入图片说明

任何帮助表示赞赏。

GIJ*_*JOW 2

对于那些像我一样苦苦挣扎的人,这里有一个潜在的解决方案。

不知道有没有更好的解决办法。如果有,请分享。

我需要一个自定义按钮来制作完全相同的 MPVolumeView 路由按钮。所以我可以实现掩盖原始按钮的相同效果和功能。

import UIKit
import MediaPlayer

class SelectAudioDeviceViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let avView = myView(frame: CGRect(x: 0, y: 0, width: 150, height: 50))
        let button = UIButton(frame: CGRect(x: 50, y: 150, width: 150, height: 50))
        avView.showsRouteButton = true
        avView.showsVolumeSlider = false
        avView.setRouteButtonImage(nil, for: .normal)
        button.backgroundColor = UIColor.gray


        button.setTitle("BLABLA", for: .normal)

        button.addSubview(avView)
        self.view.addSubview(button)
    }
}

class myView: MPVolumeView {
    override func routeButtonRect(forBounds bounds: CGRect) -> CGRect {
        let newBounds = CGRect(x: 0, y: 0, width: 150, height: 50)
        return newBounds
    }
}
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你