私は同じ問題を経験し、自分のニーズに合った解決策を見つけました。たぶん、これもあなたに適しています。少なくとも、Android 2.2、2.3、および 4.2 でテストおよび動作しています。
これは、videoView の現在の位置が 0 より大きいかどうかを定期的に確認することを目的としています。これはミハイルの答えの修正です。ミハイルにも感謝します:)
public class VideoViewActivity extends Activity {
// Declare variables
ProgressDialog pDialog;
VideoView videoview;
Runnable videoPositionThread;
// Insert your Video URL
String VideoURL = "enter your video rtsp url here";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.videoview_main);
videoview = (VideoView) findViewById(R.id.VideoView);
pDialog = new ProgressDialog(VideoViewActivity.this);
pDialog.setTitle("Android Video Streaming Tutorial");
pDialog.setMessage("Buffering...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
Uri video = Uri.parse(VideoURL);
videoview.setVideoURI(video);
videoview.start();
final Handler handler = new Handler();
videoPositionThread = new Runnable() {
public void run() {
int currentPosition = videoview.getCurrentPosition();
if (currentPosition > 0)
pDialog.dismiss();
else
handler.postDelayed(videoPositionThread, 1000);
}
};
handler.postDelayed(videoPositionThread, 0);
}
}