Yog*_*tel 2 avaudioplayer ios airplay swift swift5
我想实现一个 Airplay 按钮,显示蓝牙、iPhone 选项,就像在 iPhone 音乐应用程序中我们单击 Airplay 一样。我编写了一些代码,但遇到了一些问题。
有一些链接适用于某些要点,但不适用于整个事情
https://developer.jwplayer.com/jwplayer/docs/ios-add-an-airplay-button-to-an-app
iOS - 如何在 Swift 中显示“AirPlay”弹出菜单?
请检查下面的屏幕截图以获取更多信息。
请检查代码
import UIKit
import MediaPlayer
import AVKit
class TempDemoViewController: UIViewController {
@IBOutlet weak var airPlayView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
setupAirPlayButton()
}
func setupAirPlayButton() {
var buttonView: UIView = UIView()
let buttonFrame = CGRect(x: 0, y: 0, width: 50, height: 50)
if #available(iOS 11, *) {
let routerPickerView = AVRoutePickerView(frame: buttonFrame)
buttonView.addSubview(routerPickerView)
routerPickerView.tintColor = UIColor(named: "PrimaryColor")
routerPickerView.activeTintColor = .white
routerPickerView.prioritizesVideoDevices = true
}else{
let airplayButton = MPVolumeView(frame: buttonFrame)
airplayButton.showsVolumeSlider = false
buttonView = airplayButton
}
airPlayView.addSubview(buttonView)
}
}
Run Code Online (Sandbox Code Playgroud)
override func viewDidLoad() {
super.viewDidLoad()
setAirplayButton()
}
func setAirplayButton(){
let buttonView = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
let routerPickerView = AVRoutePickerView(frame: buttonView.bounds)
routerPickerView.tintColor = UIColor.green
routerPickerView.activeTintColor = .white
buttonView.addSubview(routerPickerView)
self.airPlayView.addSubview(buttonView)
}
Run Code Online (Sandbox Code Playgroud)
注意:airPlayView 是我在故事板中添加的 UIView。