ライブストリームからビデオを再生できるAndroidベースのアプリケーションを開発しようとしています。このライブストリームは Wowza Media Server を使用して生成されます。
URLは次のとおりです。
rtsp://tv.hindiworldtv.com:1935/live/getpun
私はeclipseで次のコードを試しました:
package com.kalloh.wpa;
import Android.app.Activity;
import Android.content.pm.ActivityInfo;
import Android.net.Uri;
import Android.os.Bundle;
import Android.view.Window;
import Android.widget.MediaController;
import Android.widget.VideoView;
public class a extends Activity {
VideoView videoView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Create a VideoView widget in the layout file
//use setContentView method to set content of the activity to the layout file which contains videoView
this.setContentView(R.layout.videoplayer);
videoView = (VideoView)this.findViewById(R.id.videoView);
//add controls to a MediaPlayer like play, pause.
MediaController mc = new MediaController(this);
videoView.setMediaController(mc);
//Set the path of Video or URI
videoView.setVideoURI(Uri.parse("rtsp://tv.hindiworldtv.com:1935/live/getpnj"));
//
//Set the focus
videoView.requestFocus();
}
}
最初は、機能していませんでした。
動作を開始しましたが、20〜30秒後に停止します。この問題を修正するにはどうすればよいですか?
私は解決策を見つけました。送信はAndroidの優先設定内である必要があります。詳細については、サポートされるメディア形式を参照してください。
VideoView を使用することは良い解決策ですが、native player
RTSPを再生します。これは一例です:
if (movieurl.startsWith("rtsp://")) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(movieurl));
startActivity(intent);
}
メディアは Androidがサポートするメディア形式 ( codecs )で作成する必要があることに注意してください。
ICS 4.x.でも同じ問題が発生しました。また、ストリーム [〜#〜] url [〜#〜] が正常に機能しているかどうかも確認できます。か否か。
また、 このサンプルURL を使用してコードを確認します。
Galaxy Note N7000(ICS 4.0.3)とVLC 2.0.2でも同じ問題が発生しました。ビデオは60秒後に死にます。しかし、VLCメディアプレーヤー1.1.4に目を向けると、すべてがうまく機能します!
そのため、メディアサーバーに依存する場合があります。 YouTubeからRTSPを試すことができます(m.youtube.comに移動し、ビデオを右クリック->場所のリンクをコピー->それが必要なRTSPリンクです)。