gpt4 book ai didi

android - 在 Android 设备中播放

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:22:47 25 4
gpt4 key购买 nike

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

mDNS -R MyAirplayService _airplay._tcp local 22555

当我运行此 java 代码时,我可以在我的 iOS 设备上看到 airplay 图标。但是如何在 Android 设备上使用它呢?是否有任何开源代码或库可以执行此操作?

最佳答案

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

  • 在 iOS 中,这可以使用 Bonjour/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 server/mirroring service,还需要做很多事情。如果您想知道,请查看我的用作 Airplay 镜像服务器的 iOS 应用程序,https://www.youtube.com/watch?v=0d6ggJMypIk .还有一个用 python 编写的开源项目,称为 PyOpenAirMirror。

关于android - 在 Android 设备中播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14972183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com