在 Android 应用程序中使用 DIAL 协议

Posted

技术标签:

【中文标题】在 Android 应用程序中使用 DIAL 协议【英文标题】:Using DIAL Protocol in Android application 【发布时间】:2014-02-21 10:44:20 【问题描述】:

我想在我的视频流应用程序中使用 DIAL 协议,我的应用程序是一个示例应用程序,仅使用 VideoView 播放 HLS 示例流。

我想在我的应用程序中集成 DIAL 协议 (http://www.dial-multiscreen.org),以便在电视或其他支持 DIAL 的服务器设备上流式传输视频。我有几个问题。

    是我需要同时实现服务器和客户端,还是只实现客户端? 我可以在两部安卓手机上测试这个客户端和服务器,还是我需要使用支持 DIAL 的电视作为服务器应用程序? 在 DIAL 网站上,他们提供了 CPP 中的示例应用程序,所以我需要重用此示例中的代码并在此代码之上编写 JNI 以在 android 中使用。或者有适用于 Android 的协议实现的 SDK/Libs。 我在哪里可以找到 android 的示例。 我只是为了样品/测试目的,所以是否需要注册应用程序名称,如规范文档中所述?

【问题讨论】:

您还发现了其他关于此的内容吗?我也对这个感兴趣。我想在我的 Android 应用程序中实现一个客户端以使用 Chromecast。当大多数其他应用不在我的网络上时(由于网络设置受限),DIAL 实施似乎允许 YouTube 工作。 【参考方案1】:

1)。如果您要与现有的服务器应用程序交谈(例如与智能电视或手机应用程序中的 Chromecast 交谈),您只需要实现客户端。如果您这样做,您基本上将构建一个应用程序来执行诸如触发通过手机在电视上播放 YouTube 视频之类的操作。如果你想实现播放不同的媒体,你还需要实现一个 DIAL 服务器。

2)。您可以使用任何实现 DIAL 协议的服务器端的服务器对其进行测试,因此两部手机可以作为概念证明,但让客户端和服务器都在手机上在实践中并不是很有用。让客户端在手机上运行而服务器在 PC 上运行将是更现实的情况,或者针对实现 DIAL 服务器端协议的智能电视或 Chromecast 进行测试。如果您使用两部手机进行测试,您肯定需要同时实现 DIAL 协议的服务器端和客户端。

3) 您当然不需要使用示例代码。使用标准的 HTTP 类在 Java 中实现协议可能会更简单。不知道现有的 Java 实现,但实现起来不会太难。

4) 不知道有任何可用的示例代码,但任何支持 Chromecast(如 Netflix 和 YouTube 应用程序)的东西都包括 DIAL 客户端功能——四处寻找支持将内容流式传输到 Chromecast 的开源应用程序。

5) 如果您只是实现客户端内容,那么您无需注册任何名称。仅当您要分发服务器应用程序时才需要注册名称。详情见这里:http://www.dial-multiscreen.org/dial-registry

【讨论】:

这个协议还活着吗?为什么没有针对 Android/ios/tvOS 的开源客户端/服务器实现?

以上是关于在 Android 应用程序中使用 DIAL 协议的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 中获取 SPEED Dial 联系人列表?

Android拨打电话

Go 语言网络编程系列— Socket 编程入门:Dial 函数及其使用

7.网编

Android OnClick的四种方法

如何使用 DIAL 启动 Chromecast 应用程序