video播放给黑屏,但有声音

我很难过

我试图用媒体播放器播放video,但audio播放时,我所得到的只是一个黑色的窗口。

我见过有关这个问题的其他post,但我没有find解决办法。 我试图按照他们的build议。

媒体播放器在播放前准备好。 在播放之前,表面支架已创build并设置为媒体播放器的显示屏。

在三星Galaxy Tab和三星Galaxy S上testing

我正在编译API级别7。

video本身可以在SD卡的设备video应用程序中播放,所以它应该是兼容的。

表面视图与video大小不一样。 所以这可能是一个问题。 我需要做些什么或自动伸展处理?

以下是我在初始化中的内容:

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(width, height); lp.leftMargin = x; lp.topMargin = y; mSurfaceView = new SurfaceView(mActivity); mSurfaceView.requestFocus(); mSurfaceView.setZOrderOnTop(true); mSurfaceView.getHolder().addCallback(player); mSurfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); mLayout.addView(mSurfaceView, lp); mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(assetDescriptor.getFileDescriptor(), assetDescriptor.getStartOffset(), assetDescriptor.getLength()); mMediaPlayer.setOnErrorListener(player); mMediaPlayer.setOnPreparedListener(player); mMediaPlayer.prepare(); 

这里是我的callback:

 public void onPrepared(MediaPlayer mp) { mMediaPlayer.start(); } public void surfaceCreated (SurfaceHolder holder) { mMediaPlayer.setDisplay(holder); } 

令人沮丧的是,前一段代码的版本正常,但现在不行。

Solutions Collecting From Web of "video播放给黑屏,但有声音"

我有一个类似的问题,并涉及到video格式(编解码器MP4,WMV,AVI等)。

尝试在Android的默认播放器上运行video,看看是否有效。 如果不能正常工作,那么在video编解码器中可能会出现问题。

不要试图在VLC或Player MX等播放器上播放video,他们已经embedded了编解码器。