MediaPlayer只有声音没图象,在线等啊!!!
求帮助。。package com.gushi;import java.io.IOException;import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
 
  
  
public class app_2 extends Activity { private MediaPlayer mp =new MediaPlayer();
private SurfaceHolder surfaceHolder;
private SurfaceView surfaceView;  
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.app2);


surfaceView = (SurfaceView) findViewById(R.id.SurfaceView02);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.setFixedSize(100, 100);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);


 mp.reset();//恢复到未初始化的状态  
         mp=MediaPlayer.create(app_2.this, R.raw.b);//读取视频  
         mp.setAudioStreamType(AudioManager.STREAM_MUSIC);  
         mp.setDisplay(surfaceHolder);//设置屏幕  
           
         try {  
             mp.prepare();  
               
         } catch (IllegalArgumentException e) {  
             // TODO Auto-generated catch block  
             e.printStackTrace();  
         } catch (IllegalStateException e) {  
             // TODO Auto-generated catch block  
             e.printStackTrace();  
         } catch (IOException e) {  
             // TODO Auto-generated catch block  
             e.printStackTrace();  
         }  
         mp.start();  

}  
  



}  

解决方案 »

  1.   

    换个读取方式试试,不用R.raw.b//视频文件放在 assert中
    AssetFileDescriptor aFD = this.getAssets().openFd("xxx.3gp");
    FileDescriptor fileDescriptor = aFD.getFileDescriptor();
    m = new MediaPlayer();
    m.setDataSource(fileDescriptor, aFD.getStartOffset(), aFD.getLength());
    aFD.close();这篇文章比较详细,希望对你有帮助:
    http://www.360doc.com/content/10/1109/18/1290342_67977334.shtml