2011-11-24 3 views
0

다음 코드를 사용하여 안드로이드 장치에서 .mp4 비디오를 재생하고 있습니다. 내가이 비디오를 재생되지 않습니다 소리가 아직도 개의 continoue안드로이드는 컨트롤러로 비디오를 재생합니다.

  • 을 재생하는 것입니다 내가 장치의 뒤로 가기 버튼을 누를 때이 코드를 사용하여 3 문제,

    1. 을 가지고, 사운드 만 재생!

    2. 사용자가 비디오를 중단하고 비디오에서 앞뒤로 이동할 수 있도록 비디오 컨트롤러를 얻는 방법을 모르겠습니다.

      VideoView videoHolder = new VideoView(this); 
      videoHolder.setMediaController(new MediaController(this)); 
      getWindow().setFormat(PixelFormat.TRANSLUCENT);  
      MediaPlayer mediaPlayer = new MediaPlayer(); 
      Uri myUri = Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.video); 
      
      videoHolder.setVideoURI(myUri); 
      mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
      mediaPlayer.setDataSource(getApplicationContext(), myUri); 
      mediaPlayer.prepare();  
      mediaPlayer.start(); 
      
      videoHolder.requestFocus(); 
      videoHolder.start(); 
      
  • 답변

    1

    1) 오버라이드 활동에 onBackPressed :

    @Override 
    public void onBackPressed() { 
        mediaPlayer.stopPlayback(); 
        super.onBackPressed();   
    } 
    

    2) 유효한 비디오 형식인가? 에뮬레이터 또는 실제 장치를 사용하고 있습니까? 에뮬레이터를 사용하는 경우 대신 실제 장치를 사용해보십시오. 이전에 비슷한 문제가 떠 올랐습니다. 그러나 또한 주목합니다 : 비디오를 드로어 블 폴더에 넣었습니까?

    R.drawable.video 
    

    작동하지 않을 것이라고 생각합니다. 동영상을 재생할 수 없습니다. 대신 resources/raw 폴더를 사용하십시오. btw : 오디오는 자산 폴더에서 직접 재생할 수 있지만 동영상은 재생할 수 없습니다. 동영상은 원시 폴더에서만 재생하거나 앱 파일 폴더 (getFilesDir()) 또는 sdcard에 복사하면 재생됩니다.

    3) 왜 VideoView가 아닌 ​​VideoView와 MediaPlayer를 사용하고 있습니까? mediaPlayer를 없애고 VideoView를 사용해야합니다. 이 줄은

    videoHolder.setMediaController(new MediaController(this)); 
    

    처럼 보이며 사용자가 비디오에서 찾을 수있는 미디어 컨트롤러를 설정합니다. 프로그래밍 방식으로 seekTo()을 사용하여 비디오에서 앞뒤로 이동할 수도 있습니다.

    0
    VideoView videoView =(VideoView)findViewById(R.id.vv01); 
    
        //specify the location of media file 
        Uri myUri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.login_footage); 
    
        //Setting MediaController and URI, then starting the videoView 
        videoView.setVideoURI(myUri); 
        videoView.requestFocus(); 
        videoView.start(); 
    

    이 날

    을 위해 일
    관련 문제