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

How to Add an AirPlay button to an app in Swift 5(如何在SWIFT 5中向应用程序添加AirPlay按钮)
本文介绍了如何在SWIFT 5中向应用程序添加AirPlay按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

  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?

有关详细信息,请查看下面的屏幕截图。

请检查代码

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按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Why local notification is not firing for UNCalendarNotificationTrigger(为什么没有为UNCalendarNotificationTrigger触发本地通知)
iOS VoiceOver functionality changes with Bundle Identifier(IOS画外音功能随捆绑包标识符而变化)
tabbar middle tab out of tabbar corner(选项卡栏中间的选项卡角外)
Pushing UIViewController above UITabBar(将UIView控制器推送到UITabBar上方)
Dropbox Files.download does not start when number of files in folder is gt; 1000(当文件夹中的文件数为1000时,Dropbox Files.Download不会启动)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)