RTSP サーバーからビデオをストリーミングしようとしています。アプリ内でビデオを実行したい。私は3つの異なるアプローチを試しましたが、そのうちの1つだけが機能しているようです:
- VideoView の使用 (機能しません)。
- ネイティブプレーヤーの使用(作品)。
- MediaPlayer の使用 (機能しません)。
MediaPlayerで動画を表示したいのですが、できません。
コードは次のとおりです。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* 1. Using VideoView, error: "Cannot play video"
VideoView vidView = (VideoView) findViewById(R.id.myVideo);
String vidAdress = "rtsp://10.42.0.91:5554/camera";
Uri vidUri = Uri.parse(vidAdress);
vidView.setVideoURI(vidUri);
vidView.start();
*/
//Using native player (implicit intent), works.
String mediaURL = "rtsp://10.42.0.91:5554/camera";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mediaURL));
startActivity(intent);
/* Using MediaPlayer (doesn't work). Error: "Cannot create MediaPlayer"
and setDataSource.
setVolumeControlStream(AudioManager.STREAM_MUSIC);
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try
{
mediaPlayer.setDataSource("rtsp://10.42.0.91:5554/camera");
mediaPlayer.prepare();
mediaPlayer.start();
}
catch (IOException ex)
{
ex.printStackTrace();
}
*/
http:10.42.0.91:8080/playlist.m3u は次のようになります。
#EXTM3U
#PLAYLIST:RTSP カメラ サーバー #EXTINF:-1, アクティブなカメラ rtsp://10.42.0.91:5554/camera #EXTINF:319, 3/3/16 PM 3:08: 35 MB rtsp://10.42.0.91: 5554/record160303_1500 #EXTINF:1047、3/3/16 PM 2:15: 106.4 MB rtsp://10.42.0.91:5554/record160303_1400 #EXTINF:1364、すべてのレコード 141.4 MB rtsp://10.42.0.91:5554/記録 #EXTINF:-1, バックカメラ rtsp://10.42.0.91:5554/back #EXTINF:-1, フロントカメラ rtsp://10.42.0.91:5554/front