首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVAudioPlayer和AirPlay -可能吗?

AVAudioPlayer和AirPlay -可能吗?
EN

Stack Overflow用户
提问于 2011-05-05 02:33:36
回答 3查看 4K关注 0票数 5

我试图确定是否可以使用AirPlay类切换AVAudioPlayer支持。

据我所读到:

AirPlay是一种技术,让你的应用程序流音频到苹果电视和第三方AirPlay扬声器和接收器。AirPlay支持内置于AV Foundation框架和Core Audio框架系列。使用这些框架播放的任何音频内容都自动符合AirPlay发行版的要求。一旦用户选择使用AirPlay播放您的音频,系统将自动对其进行路由。[ 参考 ]

基于这些信息,它应该与AVAudioPlayer一起工作,因为它是AVFoundation框架的一部分;但是我似乎找不到任何支持这种假设的文档。

我还找到了一些文档,说明可以用MPMoviePlayerViewController来完成

使用AirPlay播放视频的支持包括在MPMoviePlayerController类中。这种支持允许您在支持AirPlay的硬件(如Apple TV )上播放基于视频的内容。当active MPMoviePlayerController对象的MPMoviePlayerController属性设置为YES,且设备位于启用AirPlay的硬件范围内时,电影播放器将向用户提供一个将视频发送到该硬件的控件。[ 参考 ]

这里似乎有一些相互矛盾的信息。是否有人知道是否可以使用AVAudioPlayer路由到AirPlay,或者我们被迫使用MPMoviePlayerController类?

非常感谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-05 05:13:06

回答我自己的问题。这里提到了添加自定义卷控制器的简单方法:[ 参考 ],它将与MPAudioPlayer完美地工作。这只是定位的问题。

票数 2
EN

Stack Overflow用户

发布于 2015-08-16 14:45:18

它与接口生成器相当容易,所以你可以很容易地利用自动布局。将您想要的UIView对象放置在主视图上,然后创建MPVolumeView的子类,并为UIView对象使用此自定义类

和VolumeView类MPVolumeView的子类

代码语言:javascript
复制
import UIKit
import MediaPlayer
class VolumeView: MPVolumeView {
   convenience init() {
       self.init()
}

override func drawRect(rect: CGRect) {
    self.showsVolumeSlider = false
    self.layer.cornerRadius = 10.0
    self.clipsToBounds = true

}

}

票数 0
EN

Stack Overflow用户

发布于 2021-03-22 15:45:33

是的,AVAudioPlayer和AirPlay一起工作。然而,有一种奇怪的情况是,像audioPlayerDidFinishPlaying这样的事件是延迟校正的(从应用程序的角度来看,它们发生的时间“太晚了”),这可能是一个问题,如果您依赖它们与应用程序中的其他机制以正确的顺序发生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5892022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档