我正在尝试确定是否可以使用AVAudioPlayer
类来切换AirPlay支持。
据我所读:
AirPlay是一项技术,可让您的应用程序将音频流传输到Apple TV和第三方AirPlay扬声器和接收器。 AirPlay支持内置于
AV Foundation
框架和Core Audio
框架系列。您使用这些框架播放的任何音频内容都自动符合AirPlay发行的条件。用户选择使用AirPlay播放音频后,系统会自动路由。 [Ref]
基于此信息;它应该与AVAudioPlayer一起使用,因为它是AVFoundation
框架的一部分;但我似乎找不到任何支持这种假设的文件。
我还发现了一些文档,说明可以使用MPMoviePlayerViewController
:
使用AirPlay播放视频的支持包含在
MPMoviePlayerController
课程中。此支持允许您在支持AirPlay的硬件(如Apple TV)上播放基于视频的内容。当活动allowsAirPlay
对象的MPMoviePlayerController
属性设置为YES
并且设备处于启用AirPlay的硬件范围内时,电影播放器会向用户显示发送视频的控件到那个硬件。 [Ref]
这里似乎有一些相互矛盾的信息。有没有人知道是否可以使用AVAudioPlayer
路由到AirPlay,或者我们是否被迫使用MPMoviePlayerController
类?
非常感谢。
答案 0 :(得分:2)
回应我自己的问题。看起来简单的方法是添加自定义音量控制器,如下所述:[ref],它将与MPAudioPlayer
完美配合。它只是定位它的问题。
答案 1 :(得分:0)
是的,AVAudioPlayer 可与 AirPlay 配合使用。然而,有一个怪癖,像 audioPlayerDidFinishPlaying 这样的事件是延迟校正的(即从您的应用程序的角度来看,它们发生 2 秒“太晚了”),如果您依赖它们以正确的顺序与其他机制一起发生,这可能是一个问题在您的应用中。