[英]Android VideoView in dialog black screen on reload
我在自定義對話框中有一個VideoView。 第一次顯示該對話框時,視頻可以正確播放,但是如果關閉該對話框然后再次加載,則該視頻將無法播放,並且該對話框只是一個黑屏。
這是我用來創建對話框的代碼:
Dialog d;
protected Dialog onCreateDialog(int id) {
switch(id) {
case DIALOG_VIDEO:
AlertDialog.Builder builder;
LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.video,null);
final VideoView vv = (VideoView)layout.findViewById(R.id.vv);
vv.setMediaController(new MediaController(this));
vv.setVideoURI(path);
vv.setZOrderOnTop(true);
vv.requestFocus();
vv.start();
builder = new AlertDialog.Builder(this);
builder.setView(layout);
d = builder.create();
d.setOnDismissListener(new DialogInterface.OnDismissListener() {
public void onDismiss(DialogInterface dialog) {
VideoView vv = (VideoView)d.findViewById(R.id.vv);
vv.stopPlayback();
vv.clearFocus();
}
});
break;
default:
d = null;
}
return d;
}
我究竟做錯了什么 ?
謝謝您的時間,對不起我的英語不好。
創建對話框時,僅調用一次onCreateDialog(int id)方法。 因此,一旦創建對話框並關閉對話框,就不會再調用onCreateDialog(int id)方法,這就是為什么您無法第二次觀看視頻。 根據您的代碼,播放視頻的邏輯僅用於創建對話框。
您可以使用onPrepareDialog(int id),每次啟動對話框時都會調用它。
注意::您需要同時使用onCreateDialog(int id)和onPrepareDialog(int id)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.