VideoView を使用して、マルチキャストを使用して VLC からストリーミングするメディア プレーヤーを作成しました。URL を提供しましたが、アプリケーションはビデオをストリーミングします。しかし、(リソースモニターで)ネットワークアクティビティを確認すると、VLCがマルチキャストアドレスとAndroidデバイスのIPの両方に接続されているため、アプリケーションはユニキャストでストリーミングされていることがわかります。
私が使用しているコード:
VideoView videoView = (VideoView) findViewById(R.id.video);
Uri uri= Uri.parse("rtsp://192.168.137.159:8554/test.sdp");
videoView.setVideoURI(uri);
videoView.start();
また、次のコードを使用して、マルチキャスト パケットが除外されないようにしました。
WifiManager wifi = (WifiManager)getSystemService( Context.WIFI_SERVICE );
if(wifi != null)
{
WifiManager.MulticastLock lock = wifi.createMulticastLock("Log_Tag");
lock.acquire();
}
サーバーから直接ではなく、マルチキャストアドレスからストリーミングするように VideoView に指示するために、他に欠けているものはありますか?
次のパラメーターを使用してマルチキャスト アドレスにストリーミングするように VLC をセットアップしました: #rtp{mux=ts,dst=239.255.12.42,sdp=rtsp://:8554/test.sdp}