Tôi có AsyncTask, nơi tôi ẩn chế độ xem video, bắt đầu phát lại video và hiển thị chế độ xem video khi video đang phát.VideoView không bắt đầu khi vô hình
Nhưng video sẽ không bắt đầu khi chế độ xem video được đặt thành ẩn, tác vụ không đồng bộ sẽ tiếp tục bị treo trong onBackground. Nếu tôi nhận xét ra dòng này, video sẽ bắt đầu phát. Tại sao chế độ xem video yêu cầu hiển thị bề mặt?
public void walk(final View v) {
new AsyncTask() {
@Override
protected void onPreExecute() {
super.onPreExecute();
mVideoView.setVisibility(View.INVISIBLE); // this line causes video not to start
mVideoView.start();
}
@Override
protected Object doInBackground(Object... objects) {
while (!mVideoView.isPlaying()) {}
return null;
}
@Override
protected void onPostExecute(Object o) {
super.onPostExecute(o);
mVideoView.setVisibility(View.VISIBLE);
}
}.execute();
Một chút nền tại sao tôi đang làm điều này: Tôi cố gắng để tránh những vấn đề nổi tiếng của đèn flash màu đen mà bạn thường có khi bắt đầu một video:
https://stackoverflow.com/search?q=%5Bandroid%5D+videoview+black
https://stackoverflow.com/search?q=%5Bandroid%5D+video+%5Bmediaplayer%5D+black