2017-08-30 43 views
1

我有一個VideoView和一個ImageButton(視頻的播放按鈕),我錄製視頻並使用ImageButton播放它。一切正常,但當我嘗試再次錄製另一個視頻。 ImageButton消失。ImageButton消失

這裏是我的代碼:

public class MainActivity extends AppCompatActivity { 

    ImageButton imageButton; 

    static final int REQUEST_VIDEO_CAPTURE = 1; 
    VideoView resultvideo; 
    MediaController mediacontroller; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     resultvideo = (VideoView)findViewById(R.id.videoView); 
     mediacontroller = new MediaController(MainActivity.this); 

     mediacontroller.setAnchorView(resultvideo); 

     resultvideo.setMediaController(mediacontroller); 

     Button click = (Button)findViewById(R.id.buttonRecord); 
     resultvideo = (VideoView)findViewById(R.id.videoView); 
    } 

    public void dispatchTakeVideoIntent(View v) { 
     Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); 
     if (takeVideoIntent.resolveActivity(getPackageManager()) != null) { 
      startActivityForResult(takeVideoIntent, REQUEST_VIDEO_CAPTURE); 
     } 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) { 
      Uri videoUri = data.getData(); 
      resultvideo.setVideoURI(videoUri); 

      resultvideo.pause(); 

     } 
     imageButton = (ImageButton) findViewById(R.id.imageButton); 
     { 
      imageButton.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        resultvideo.start(); 
        mediacontroller.show(); 
        imageButton.setVisibility(View.GONE); 
       } 
      }); 
     } 

    } 
} 

回答

1

不知道爲什麼你希望其他行爲作爲唯一setVisibility()調用該按鈕,你在你的代碼得到的是:

imageButton.setVisibility(View.GONE); 

所以要麼刪除線路或使按鈕在需要時通過呼叫再次可見

imageButton.setVisibility(View.VISIBLE); 

編輯

我怎麼讓它消失,而在視頻播放,並調用它回來時,該視頻是完成

使用MediaPlayer的OnCompletionListener

+0

我嘗試使用可見,但它顯示了而視頻正在播放。如何在視頻播放過程中使其消失,並在視頻播放完成時將其回傳。 – Renzo

+0

查看編輯答案 –