2011-09-21 261 views
9

我很难过。视频播放给出了黑色的屏幕,但有声音

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

我见过有关这个问题的其他文章,但我没有找到解决方案。我试图遵循他们的建议。

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

测试上三星Galaxy Tab和三星Galaxy S.

我对编译API级别7

视频本身可以从SD卡设备的视频应用程序上播放,所以应该兼容。

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

下面是我在我的初始化:

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();      

,这里是我的回调:

public void onPrepared(MediaPlayer mp) 
{ 
    mMediaPlayer.start(); 
} 


public void surfaceCreated (SurfaceHolder holder) 
{ 
    mMediaPlayer.setDisplay(holder); 
} 

什么是令人沮丧的是,代码的版本是正确的前一段时间的工作,但现在不是。

+0

什么是视频编解码器? – rds

+0

这个受欢迎的问题有什么好运? – Behnam

回答

0

我有一个类似的问题,并与视频格式(编解码器MP4,WMV,AVI等)有关。

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

不要试图在像VLC或Player MX这样的播放器上播放视频,他们已经嵌入了编解码器。

相关问题