Android 将音频流式传输到其他设备

标签 android audio-streaming

您好,我正处于应用程序的早期阶段,其中一部分我需要将音频从一台设备流式传输到多台设备。到目前为止,我一直在谷歌上搜索寻找最佳解决方案,我发现这两个项目各有问题。

spy 机器人 http://code.google.com/p/spydroid-ipcamera/ 问题 这个的问题是它创建了一个仅限于一个连接设备的 rtsp 流。如果我在我的两台计算机上浏览到链接,我会看到两个客户端都在应用程序中连接,但第二个连接的客户端立即断开连接,应用程序说我的手机不支持此功能。我深入研究了源代码,发现在 Session.java 文件中有 if 语句,上面有注释,说阻止建立两个连接我注释掉了 if 语句,catch 子句在运行后捕获了我。如果我可以让它在 3g 以上工作时使用多个连接,那么这个项目将是完美的。

PttDroid http://code.google.com/p/pttdroid/ 问题 这个的问题是它允许我需要多个连接,但我只能让它通过 wifi 工作。它在主页上说它可以在 3g 以上工作,但只有单播我需要在 3g 和 wifi 上进行多播,但我无法让单播在 3g 以上工作。

所以我的问题归结为我应该走哪条路,并更多地研究从我的 android 设备到多台计算机和其他 android 设备的流式音频。

非常感谢您的帮助!

最佳答案

蜂窝网络通常不支持多播数据包。蜂窝路由器根本不路由它们,所以这是死胡同。

因此,您需要向多个目的地进行单播,这对于手机有限的蜂窝带宽而言可能具有挑战性。您很可能会在只有一两个流的情况下争用蜂窝带宽,即使您可以让它们用完同一台设备。 (例如,同一文件的多个 Spydroid 流。)

如果我正在构建一个系统来执行此操作,我会考虑设置一个服务器来进行反射。所以我希望使用 Spydroid 之类的东西来运行 RTSP 流到服务器,然后将其从服务器反射到许多订阅者。这不是一个小项目,但可以让您使用更高带宽的服务器向多个用户流式传输。

这里显然有一个项目遵循这个反射器策略: https://code.google.com/p/js4ms/wiki/RTSPMulticastReflector

我根本没有测试过它是否有效,但这至少应该让你走上正确的道路。

关于Android 将音频流式传输到其他设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11655254/

相关文章:

Android 模拟器(来自 Android Studio)滞后

java - BluetoothServerSocket 不从 accept() 返回

android - Android 中短信和联系人的唯一标识符(检查重复)

android - mqtt mosquitto linux 连接限制

安卓 :unable to play video

ios - 如何让 AudioKit 从远程 URL 传输音频文件?

iPhone : Can't streaming m3u8 url with AudioStreamer

python - 使用 python-shout 创建 icecast2 服务器的多个音频流

iPhone - 在流媒体音频中查找

android - 需要相当于 AudioInputStream 的 Android