Android平台Airplay的实现方法

移动开发 Android
如果Android机顶盒能够支持IOS设备的Airplay协议,实现为Airplay服务器,能够接收和处理来自IOS设备的多媒体数据(视频、照片和音乐),将能提高Android机顶盒的竞争力。本文将介绍Android平台Airplay的实现方法,希望对您有所帮助。

Airplay属于局域网内异构设备之间分享多媒体数据的一种通信协议。Airplay设备有客户端和服务器之分,一般将小屏IOS设备实现为Airplay客户端,大屏幕设备实现为Airplay服务器。即iPhone, iPad, iPod一般为Airplay客户端,iTV, Macbook设计为Airplay服务器,在小屏和大屏之间分享视频、照片和音乐。Airplay属于私有协议,版权Apple公司所有。

IOS设备的保有量非常大,如果Android机顶盒能够支持IOS设备的Airplay协议,实现为Airplay服务器,能够接收和处理来自IOS设备的多媒体数据(视频、照片和音乐),将能提高Android机顶盒的竞争力。

技术点分析:Airplay服务器端包含3个服务:DNS服务发现服务;基于HTTP协议的Airplay服务和基于UDP的Airtunes服务。DNS服务发现服务,在linux系统中有开源的AVAHI库,其他两个服务需要基于Airplay协议去实现。

1 Airplay概念图

 

Airplay客户端:iPhone, iPad, iPod等IOS设备

Airplay服务器:iTV, Macbook, AndriodTVBox

网络:Wifi无线局域网 

Airplay服务端包含的协议:DNS服务发现协议、HTTP协议、TCP/UDP协议、Airplay协议

Airplay服务端包含的服务:DNS服务发现服务、Airplay服务和Airtunes服务

2 部分Airplay开源代码(Android平台的较少哦)

 

Servers

Name

Description

Open

AirServer

The best app for turning your Mac into an AirPlay screen

-

Reflection

Turn your Mac or PC into an AirPlay screen

-

Banana TV

Another app to turn your Mac into and AirPlay screen

-

Casual Share

Mac AirPlay receiever

R

AirMac

Turns you Macintosh into an Airplay receiver (Objective C)

R

Airstream Media Player

C# based AirPlay screen for windows and AirPlay server source code

R

Play2Wifi

An AirPlay server written in Python

R

 

3 Android平台上Airplay的实现

   简要说明一下:实现Airplay,最重要的有两步,第一步是:Airplay服务发布,让IOS设备能发现你;第二步:实现Airplay协议应答, 让IOS设备能和你交互。Airplay发布服务,Linux系统中原生的Zeroconf协议,用于发布网络服务。Android平台上并不支持Zeroconf协议。所以需要安装Linux版本的Avahi,Avahi是Zeroconf协议的Linux实现。Avahi服务发布管理系统,支持跨进程发布,其中跨进程的数据交互是通过DBUS-Service的。DBUS服务,Android原生系统就自带。

   上面介绍了一下系统库的依赖关系,下面介绍一下如何实现吧。

   (1) 修改DUBS-Service(Andriod)服务的权限,默认是蓝牙才能访问,设置为系统级程序都可以访问。

   (2) 编写一个新的服务【零配置网络发布服务ZeroconfAvahiService】,其中简单封装一下Avahi服务和Avahi-client。并在Android配置文件中,让该服务自启动。

   (3) AirplayServer程序中,创建Avahi-client,发布Airplay服务。如果IOS设备能发现您的Android设备,恭喜服务发布成功。

   (4) 实现AirplayServer实现Airplay协议,完成与IOS设备的图像、视频数据的交互。Coding, Debugging, 总会成功的。

 

4 感想

   学会了Android平台Airplay的实现方法,屌丝设备能和高富帅设备交互,还是有一丝惊艳的。不过Airplay不是唯一技术,DLNA,WifiDisplay也有类似功能。

责任编辑:闫佳明 来源: csdn
相关推荐

2012-03-07 11:17:19

AndroidPhoneGap插件

2011-09-14 09:20:03

PhonegapAndroid平台

2010-02-06 18:04:21

Android 接口

2010-11-25 10:57:03

多点触摸Android

2011-09-05 15:09:06

Android平台Phonegap

2010-01-26 17:36:17

Android实现全屏

2009-04-22 16:39:41

LinuxTomdroidTomboy

2010-07-16 10:19:28

PHP for And

2019-04-12 11:20:15

iPhoneiPad AirPlaWindows 10

2010-01-26 10:10:51

Android模拟SD

2010-12-01 14:34:59

AsyncTask异步处理任务Android

2018-05-08 14:47:38

虚拟机方法代码

2024-06-03 08:26:34

Android开发监听器

2010-03-02 14:15:11

Android平台

2014-05-09 15:43:39

移动安全Android安全

2013-06-27 09:26:50

Android界面刷新

2013-11-27 09:47:20

Java加密

2013-12-03 12:37:28

2020-09-22 08:52:50

平台实现消息

2022-12-28 08:31:38

平台设计应用
点赞
收藏

51CTO技术栈公众号