本文介绍了如何在SWIFT 5中向应用程序添加AirPlay按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想实现一个显示蓝牙iPhone选项的Airplay按钮,就像我们在iPhone音乐应用程序中点击Airplay一样。我做了一些代码,但我面临一些问题。
- 在我的实现中,MPVolumeView工作正常,但无法更改按钮颜色。我检查了浅色,但无法正常工作
- 添加了AVRoutePickerView代码它不工作它不会触发,因此它不会显示AirPlay弹出视图
- 我想在单击UIButton时显示此Airplay弹出窗口,但我找不到任何解决方案,因此我使用UIView。
有些链接只适用于某些点,但不适用于全部
AirPlay button on custom view
https://developer.jwplayer.com/jwplayer/docs/ios-add-an-airplay-button-to-an-app
iOS - How can I display an 'AirPlay' popup menu in Swift?
有关详细信息,请查看下面的屏幕截图。
请检查代码
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)
}
}
推荐答案
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)
}
注意:airPlayView是我在情节提要中添加的用户界面。
这篇关于如何在SWIFT 5中向应用程序添加AirPlay按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!