草庐IT

iphone - 在 Objective-C 中是否有检测 AirPlay 的通知?

我正在使用MPVolumeView来显示Airplay图标,它工作正常。但我需要在Airplay网络出现时显示动画,并在airplay网络隐藏时隐藏该动画。是否有通知让我知道Airplay何时开始和结束? 最佳答案 这正是您要找的-https://github.com/StevePotter/AirPlayDetector它是一个单独的类,提供了一个属性来确定airplay设备是否处于事件状态。并在可用性发生变化时发出通知。使用起来很简单。比如,要确定您写的可用性:[AirPlayDetectordefaultDetector].i

ios - 检测 AirPlay 延迟

虽然我意识到AirPlay具有固有的滞后/延迟,但我想知道(目前假设的)iPhone应用程序是否有办法检测该延迟是什么。如果是这样,该延迟值的精确度如何?我更好奇应用程序是否可以“知道”自己的AirPlay延迟,而不是简单地将其最小化。 最佳答案 延迟不是来自网络抖动,而是由源设备(您的iPhone)决定的。长话短说:Apple设备始终精确到2秒(精确到毫秒)。无法使用公共(public)API对其进行调整。音频延迟需要非常准确,以便多个输出可以同步播放。关于AirPlay实现的一些解释:协议(protocol)以几个RTSP命令开

ios - 检测 AirPlay 延迟

虽然我意识到AirPlay具有固有的滞后/延迟,但我想知道(目前假设的)iPhone应用程序是否有办法检测该延迟是什么。如果是这样,该延迟值的精确度如何?我更好奇应用程序是否可以“知道”自己的AirPlay延迟,而不是简单地将其最小化。 最佳答案 延迟不是来自网络抖动,而是由源设备(您的iPhone)决定的。长话短说:Apple设备始终精确到2秒(精确到毫秒)。无法使用公共(public)API对其进行调整。音频延迟需要非常准确,以便多个输出可以同步播放。关于AirPlay实现的一些解释:协议(protocol)以几个RTSP命令开

ios - 暂停播放时 MPNowPlayingInfoCenter react 不正确

我正在尝试让MPNowPlayingInfoCenter在暂停播放时正常工作。(我有一个使用AVPlayer进行播放的流媒体音乐应用程序,我正在通过Airplay在我的AppleTV中播放。)除了暂停之外的所有内容似乎都正确反射(reflect)在AppleTV用户界面中。我正在这样初始化它:MPNowPlayingInfoCenter*center=[MPNowPlayingInfoCenterdefaultCenter];NSDictionary*songInfo=@{MPMediaItemPropertyTitle:title,MPMediaItemPropertyArtist:

ios - 暂停播放时 MPNowPlayingInfoCenter react 不正确

我正在尝试让MPNowPlayingInfoCenter在暂停播放时正常工作。(我有一个使用AVPlayer进行播放的流媒体音乐应用程序,我正在通过Airplay在我的AppleTV中播放。)除了暂停之外的所有内容似乎都正确反射(reflect)在AppleTV用户界面中。我正在这样初始化它:MPNowPlayingInfoCenter*center=[MPNowPlayingInfoCenterdefaultCenter];NSDictionary*songInfo=@{MPMediaItemPropertyTitle:title,MPMediaItemPropertyArtist:

iOS AirPlay 第二 screen 教程

我正在考虑为我的一个ViewController添加AirPlay功能。ViewController只显示一个UIWebView。我想要做的是添加一个按钮,将此内容镜像到AppleTV。我知道可以进行系统范围的镜像,但它不会填满整个screen,四周都是黑条。我一直在网上搜索,但我发现的大部分内容都是从iOS5回来的,而且已经过时了。有人可以指出我可以提供帮助的教程或嵌入式图书馆的方向吗?我只需要它来镜像一个View的内容,以便在AppleTV上全屏显示。到目前为止,这是我所做的,但我相信它只创建了第二个窗口,而没有在上面放置任何东西。在AppDelegate中,我为其创建了一个属性:

ios - AirPlay:通过显示可用设备弹出窗口重定向音频

我正在尝试实现与Music.app相同的AirPlay按钮。该按钮会显示一个弹出窗口,其中包含可用设备列表,用户可以选择这些设备来重新路由音频。在搜索我的问题时,我发现了MPVolumeView但这不是Music.app使用的。甚至控制中心也在使用该弹出窗口。如何在我的应用中显示该弹出窗口?更新:我在AppStore应用程序中也看到了同样的弹出窗口,所以它应该是一个公共(public)API。 最佳答案 AVRoutePickerView在iOS11+中可用,提供此接口(interface)。AVRoutePicketView就像一

ios - AirPlay:连接到 Apple TV 时禁用音量控制

我正在播客应用中实现AirPlay支持。我添加了一个AVRoutePickerView,AirPlay设备加载正常,我可以成功连接到设备。我正在AppleTV上进行测试,音频播放效果很好,但它始终使用最大音量,我无法更改它。音量slider被禁用,我不明白为什么会这样,因为它在其他应用程序中有效。例如,我可以在Overcast中更改预期的音量并且音频不会以最大音量开始:我做错了什么?我是否缺少任何选项。更新:我正在使用AVPlayer并且allowsExternalPlayback属性为真。更新2:MPVolumeView也会出现同样的问题。一些Reddit用户告诉我“它假设一个人会使

ios - 如何确定 AirPlay 弹出 View 是否可见

我正在为MPMoviePlayerController创建自定义控件,因此我必须通过MPVolumeView手动添加我自己的AirPlay按钮。每当我淡入自定义电影播放器​​控件时,我都会启动一个计时器,该计时器会在一定秒数后淡出。但在我淡出它们之前,我想检查AirPlay弹出View是否可见-如果可见,请延迟淡出直到弹出View消失。我该怎么做?我如何以编程方式确定AirPlay弹出窗口View是否可见? 最佳答案 首先,公共(public)API中没有允许您执行此操作的方法。如果您确实想尝试,我能想到的一种方法是观察应用程序的主

ios - 自定义 View 上的 AirPlay 按钮 - 问题

我正在开发一个使用MPMoviePlayerController支持AirPlay的iPhone应用程序。但是,我需要在我的自定义View中显示这个AirPlay按钮。所以,我使用MPVolumeView并将其添加到我的自定义View中;从MPVolumeView中删除了除AirPlay按钮之外的所有subview。问题是:我能否更改音量View的框架,使其适合我的自定义View的一角,大小与AirPlay按钮一样?我知道可以通过编程方式处理这个问题;这样做有效吗?链接CustomizetheAirplaybutton'sappearance提到我们不应该改变AirPlay按钮的形状和