苹果家庭网络服务airplay研究
July 4, 2015
AirPlay概要
1: 什么是AirPlay ?
苹果用于家庭网络共享数据的协议。
2: AirPlay用来干什么 ?
目前主要iphone,ipad,ipod touch 到Apple TV 已经苹果授权的其他硬件设备的数据传输(PS:以上是官方说法。使用AirSearve(实现AirPlay协议的一个客户端,支持os,ios系统,ios系统需要越狱安装)也可是现实多种苹果设备间的数据传输。
3: AirPlay 协议传输数据方式
照片和幻灯片的投射 (Photos) 音频留的投射 (Stream audio) 视频流的投射 (videos) 屏幕内容的投射 (AirPlay Mirroring)
4: AirPlay 在使用的过程中不需要任何配置,仅仅需要在同一局域网环境下就可以放心对方。如何实现的?
AirPlay的 “Search Searver”服务是基于零配置联网协议的。
接受AirPlay协议的硬件设备会公开两部分内容。在这两部分内容中,其他设备可以找到并且读取一些基本信息,包括设备名字,设备支持的内容类型等。
参看文献: http://nto.github.io/AirPlay.html
5: ios App开发中AirPlay的使用方式
目前苹果开放的SDK中,只有当App是用于播放媒体的适合,用户可以在App内显示”AirPlay 设备列表”按钮。 屏幕镜像接口未找到 官方给出的Demon如下:
你可以使用如下代码显示”AirPlay 设备列表”按钮.
MPVolumeView *volumeView = [ [MPVolumeView alloc] init] ;
[view addSubview:volumeView];
如果你想仅仅显示AirPlay按钮,而不显示音量大小,你可以使用如下代码
MPVolumeView *volumeView = [ [MPVolumeView alloc] init] ;
[volumeView setShowsVolumeSlider:NO];
[volumeView sizeToFit];
[view addSubview:volumeView];
PS:只有AirPlay设备列表不为空的适合,按钮才才能显示,当然,越狱系统可以下载响应组件强制显示
参看文献 AirPlay Guide