airplay协议开发第1部(搭建测试环境)
笔者最近在做airplay协议的开发,可以在windows系统上运行airplay服务,接收IOS手机的airplay投屏功能。更多的交流可以联系笔者QQ:1523520001,备注 airplay
1 整体框架
整个项目分为2个子项目:
(1) AirplayLibrary项目,编译出Airplay.dll动态库,负责airplay的具体工作,提供接口给其它程序使用;
(2) AirplaySdkExample项目,使用Airplay.dll动态库的程序,获取airplay提供的音视频数据,最后,通过ffmpeg和SDL进行解码显示。
2 项目运行步骤
在Windows平台下运行airplay服务,需要安装苹果提供的bonjoursdksetup.exe软件,他提供了mdnsd服务,用于注册airplay服务,那么,客户端就可以在局域网中发现airplay服务。该程序如下:
bonjoursdksetup.exe软件的下载地址是:
https://download.****.net/download/feng19870412/11082149
然后,接着编译AirplayLibrary项目,输出:
1> 正在创建库 ..\..\AirplaySdkExample\Release\AirPlay.lib 和对象 ..\..\AirplaySdkExample\Release\AirPlay.exp
1> 正在生成代码
1> 已完成代码的生成
1> AirPlay.vcxproj -> F:\AirPlay_study\temp\AirPlay-master\AirPlay-master\AirplayLibrary\AirPlay\..\..\AirplaySdkExample\Release
\AirPlay.dll
========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ==========
可以看到,编译输出AirPlay.dll文件。而且,输出的目录是:
..\..\AirplaySdkExample\Release
那么,就是提供给 AirplaySdkExample 项目使用。
接着,编译AirplaySdkExample项目,出现2个终端,其中一个是调试终端,如下:
这个调试终端,用于调试输出信息。另一个是airplay视频的输出终端,如下图:
然后,准备一个路由器。windows电脑连接到该路由器,IOS手机也连接该路由器。然后,windows电脑和手机在同一个局域网下。
此时,打开IOS手机的airplay功能,可以看到:
在手机上,点击连接这个 airplay服务,那么,就镜像到PC电脑端的软件,显示如下界面:
此时,windows端实现了airplay的投屏功能。