如何在 Swift 5 中向应用程序添加 AirPlay 按钮

问题描述

我想实现一个显示蓝牙、iPhone 选项的 Airplay 按钮,就像在我们点击 Airplay 的 iPhone 音乐应用程序中一样。我做了一些代码,但我遇到了一些问题。

  1. 在我实施时,MPVolumeView 工作正常,但无法更改按钮颜色。我检查了色调但不起作用
  2. 添加avroutepickerview代码,它不起作用它不会触发,所以它不会显示 AirPlay 弹出视图
  3. 我想在单击 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?

请查看下面的屏幕截图以获取更多信息。

enter image description here

请检查代码

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)
    }
    
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...