2013-06-20 48 views
0

晚上好,我有以下問題。我想在VideoView中播放視頻格式* .3gp。我我已經嘗試使用此代碼:Android VideoView在某些設備上不播放* 3.gp文件

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.mylay); 
    VideoView videoHolder = new VideoView(this); 
    videoHolder = (VideoView) findViewById(R.id.videoView1); 
    Uri video = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.asd); 
    videoHolder.setVideoURI(video); 
    videoHolder.setOnPreparedListener(new OnPreparedListener() { 
    public void onPrepared(MediaPlayer mp) { 
     mp.start(); 
     mp.setLooping(true); 
    } 
    }); 
} 

一切工作的仿真器和HTC Desire的S.精細,但有一箇中國平板昂達V972,「播放視頻時的錯誤」每一次,給了我一個:

06-19 18:34:18.890: W/AudioSystem(25145): AudioFlinger server died! 
06-19 18:34:18.890: W/IMediaDeathNotifier(25145): media server died 
06-19 18:34:18.890: E/MediaPlayer(25145): error (100, 0) 
06-19 18:34:18.890: E/MediaPlayer(25145): Error (100,0) 
06-19 18:34:18.890: D/VideoView(25145): Error: 100,0 

請告訴我,如果這個問題可以解決。非常感謝。也許有另一種方法將視頻文件加載到VideoView中?

UPDATE 21.06:

剛剛更新我的平板電腦的固件,現在視頻播放但不循環。我嘗試了下面的代碼,但rusult是一樣的 - 宏達電和模擬器做得很好,但平板電腦不循環視頻。我試過* .MP4也都是一樣的:

VideoView videoHolder = new VideoView(this); 
videoHolder = (VideoView) findViewById(R.id.videoView1); 
// videoHolder.setMediaController(new MediaController(this)); 
Uri video = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.asd); 
videoHolder.setVideoURI(video); 
// setContentView(videoHolder); 

videoHolder.setOnPreparedListener(new OnPreparedListener() { 
    @Override 
    public void onPrepared(MediaPlayer mp) { 
     mp.setLooping(true); 
     mp.start(); 
    } 
}); 

videoHolder 
     .setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
      @Override 
      public void onCompletion(MediaPlayer mp) { 
       mp.mp.seekTo(0); 
       mp.start(); 
      } 

     }); 

問題是 - 如何才能讓我在所有設備上的視頻循環?

回答

0

嘗試這樣videoview與媒體控制器

public class HelloInterruptVideoStream extends Activity 
{ 
    private String path = "http://dl.dropbox.com/u/145894/t/rabbits.3gp"; 
    private VideoView videoview; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     videoview = (VideoView)findViewById(R.id.surface_view); 

     getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     videoview.setVideoURI(Uri.parse(path)); 
     videoview.setMediaController(new MediaController(this)); 
     videoview.requestFocus(); 
     videoview.start(); 

    } 
} 
+0

設置不幸的是,效果是一樣的。似乎有很多這樣的設備,我真的希望視頻在所有設備上正常工作.. –

相關問題