ビデオがフォアグラウンドで再生されている間、VideoView のバッファーの割合を継続的に監視する必要があります。AsyncTask クラスを作成し、VideoView をそのクラスに渡しました。ただし、バッファ パーセンテージにアクセスしようとすると、常に 0 が返されます。Main アクティビティの onCreate メソッドでビデオの再生を初期化して開始しました。私のコード:
public class MainActivity extends Activity {
static MediaController mc;
static VideoView vw;
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
mc = new MediaController(this);
vw = (VideoView) findViewById(R.id.videoView);
vw.setVideoPath("http://173.45.164.105:1935/live/myStream/playlist.m3u8");
vw.requestFocus();
vw.start();
// Execute async task for stream error
ConnCheck cc = new ConnCheck();
cc.execute();
Log.i("REACHED MAIN", "Started Playing");
}
}
class ConnCheck extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void... params) {
while (MainActivity.vw.isPlaying() == true) {
Log.i("HEY", "DOING STUFF");
}
return null;
}