Android 安卓设备中的Airplay

Android 安卓设备中的Airplay,android,iphone,ios,airplay,Android,Iphone,Ios,Airplay,我想构建一个android应用程序,其中android设备作为airplay服务器(接收器)工作,iOS设备作为客户端(发送器)。我跟踪了林克。但在这里,您必须首先使用以下命令行注册到端口,以便在iOS设备上显示为airplay选项: mDNS -R MyAirplayService _airplay._tcp local 22555 当我运行这个java代码时,我可以在iOS设备上看到airplay图标。但在安卓设备中,它是如何实现的呢?是否有任何开源代码或库可以做到这一点?如果我没有弄错的

我想构建一个android应用程序,其中android设备作为airplay服务器(接收器)工作,iOS设备作为客户端(发送器)。我跟踪了林克。但在这里,您必须首先使用以下命令行注册到端口,以便在iOS设备上显示为airplay选项:

mDNS -R MyAirplayService _airplay._tcp local 22555

当我运行这个java代码时,我可以在iOS设备上看到airplay图标。但在安卓设备中,它是如何实现的呢?是否有任何开源代码或库可以做到这一点?

如果我没有弄错的话,Airplay是一个仅适用于苹果的API。我曾试图让它在安卓系统上被识别,但基本上没有成功。您可能想考虑另一种流式音频传输方式。

< P>我将查看Erica Sadun的实用程序。我可能弄错了,但我认为它们是开源的。她为AirPlay编写了服务器、播放器/发射机等


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

  • 在iOS中,这可以使用你好/NSNetService来完成。请参考苹果官方教程

    NSNetService *service;
    service = [[NSNetService alloc] initWithDomain:@""// 1
                                type:@"_airplay._tcp"
                                //this will show up as the airplay name
                                name:@"myiOSAirplayServer" 
                                port:port];
    if(service)
    {
        [service setDelegate:delegateObject];// 2
        [service publish];// 3
    }
    else
    {
        NSLog(@"An error occurred initializing the NSNetService object.");
    }
    
  • 在Android中,这可以通过网络服务发现实现,官方示例如下:

    public void registerService(int port) {
      NsdServiceInfo serviceInfo  = new NsdServiceInfo();
      //this will show up as the airplay name
      serviceInfo.setServiceName("myAndroidAirplayServer");
      serviceInfo.setServiceType("_airplay._tcp.");
      serviceInfo.setPort(port);
    
      mNsdManager = Context.getSystemService(Context.NSD_SERVICE);
    
      mNsdManager.registerService(
            serviceInfo, NsdManager.PROTOCOL_DNS_SD, mRegistrationListener);
    }
    

但是,这样做只是在本地网络中注册服务,并在iOS设备中为您提供一个图标。要实现真正的airplay服务器/镜像服务,您需要做更多的工作。如果您想知道这一点,请检查我的iOS应用程序,它可以作为Airplay镜像服务器使用。还有一个用python编写的开源项目,名为PyOpenAirMirror。

这是今天刚刚发布的-可能想看看。iOS教程网站在这里:Android文档网站: