首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android设备中的Airplay

android设备中的Airplay
EN

Stack Overflow用户
提问于 2013-02-20 12:14:07
回答 3查看 2.5K关注 0票数 3

我想构建一个android应用程序,其中android设备作为airplay服务器(接收方)和iOS设备作为客户端(发送方)。我已经关注了this链接。但在这里,您必须首先注册到端口,才能从命令行使用以下命令在iOS设备上显示为airplay选项:

代码语言:javascript
复制
mDNS -R MyAirplayService _airplay._tcp local 22555

当我运行这段java代码时,我可以在我的iOS设备上看到airplay图标。但它怎么能在android设备上呢?有没有开放源码或库可以做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-24 03:15:57

如果我没记错的话,Airplay是苹果独有的API。我试过让它在android上被识别,但基本上没有成功。您可能需要考虑流式音频的另一种传输模式。

票数 0
EN

Stack Overflow用户

发布于 2017-09-19 09:32:00

该代码基本上是在本地网络中注册airplay tcp服务,以便同一本地网络上的任何其他iOS设备都可以发现该airplay服务,并因此将airplay图标显示为选项。

对于iOS中的

  • ,可以使用Bonjour/NSNetService.完成此操作请参考Apple的官方教程。

NSNetService * service;service = [NSNetService alloc:@“”//1类型:@“_airplay._tcp”//这将显示为播放名称名称:@“myiOSAirplayServer”端口:端口];如果( service ){service setDelegate:delegateObject;// 2服务发布;// 3} else {NSLog(@“初始化NSNetService对象时出错。”);}

  • 在安卓中,可以使用网络服务发现来完成,官方示例如下:

serviceInfo.setServiceName("myAndroidAirplayServer");Context.getSystemService(Context.NSD_SERVICE);registerService(int RegisterService){ NsdServiceInfo serviceInfo = NsdServiceInfo();//这将显示为播放名称public void serviceInfo.setServiceType(“_airplay._tcp”);serviceInfo.setPort(端口);mNsdManager =public void mNsdManager.registerService( serviceInfo,NsdManager.PROTOCOL_DNS_SD,mRegistrationListener);}

但是,这样做只会在本地网络中注册该服务,并在iOS设备中显示一个图标。要做真正的airplay服务器/镜像服务,你需要做更多的事情。如果你想知道这一点,请查看我作为Airplay镜像服务器的iOS应用程序https://www.youtube.com/watch?v=0d6ggJMypIk。还有一个用python编写的开源项目,叫做PyOpenAirMirror。

票数 1
EN

Stack Overflow用户

发布于 2013-03-07 01:11:50

我会看看Erica Sadun的公用事业。我可能弄错了,但我认为它们是开源的。她已经为AirPlay编写了一个服务器,播放器/发射器等。

http://ericasadun.com/category/airplayer/

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

https://stackoverflow.com/questions/14972183

复制
相关文章

相似问题

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