我正在尝试使用 Android 的 RTP 类将音频流从一台设备多播到许多其他设备。
如果可能的话,我不想使用任何第三方库。
我能够使用AudioStream
并AudioGroup
设置彼此的 IP 地址在两个设备之间流式传输双向音频,但我想流式传输到多播组。
如果我尝试AudioStream
使用多播地址实例化239.1.1.1
,然后在另一台设备上使用audioStream.associate()
相同的多播地址,但听不到流。
我读过一些不支持多播的 Android 设备,但我的设备(三星 Galaxy Tab 2s)确实支持它。我什至在我的代码中添加了以下内容以尝试获取多播锁定:
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
multicastLock = wifi.createMulticastLock("multicastLock");
multicastLock.setReferenceCounted(true);
multicastLock.acquire();
此外,我在清单文件中具有以下权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />