AVAudioPlayer和AirPlay - 有可能吗?

时间:2011-05-05 02:33:37

标签: ios avfoundation avaudioplayer airplay

我正在尝试确定是否可以使用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类?

非常感谢。

2 个答案:

答案 0 :(得分:2)

回应我自己的问题。看起来简单的方法是添加自定义音量控制器,如下所述:[ref],它将与MPAudioPlayer完美配合。它只是定位它的问题。

答案 1 :(得分:0)

是的,AVAudioPlayer 可与 AirPlay 配合使用。然而,有一个怪癖,像 audioPlayerDidFinishPlaying 这样的事件是延迟校正的(即从您的应用程序的角度来看,它们发生 2 秒“太晚了”),如果您依赖它们以正确的顺序与其他机制一起发生,这可能是一个问题在您的应用中。