【问题标题】:Video playback gives black screen but with sound视频播放出现黑屏但有声音
【发布时间】:2011-11-22 06:44:33
【问题描述】:

我被难住了。

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

我看过其他关于这个问题的帖子,但我一直没有找到解决方案。我已尝试听从他们的建议。

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

在三星 Galaxy Tab 和三星 Galaxy S 上测试。

我正在针对 API 级别 7 进行编译。

视频本身可以在设备的视频应用程序中从 sdcard 播放,所以应该是兼容的。

表面视图与视频大小不同。所以这可能是个问题。我需要对此做些什么还是自动处理拉伸?

这是我在初始化中的内容:

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

令人沮丧的是,某个版本的代码在不久前还可以正常工作,但现在不行了。

【问题讨论】:

  • 什么是视频编解码器?
  • 这个热门问题好运吗?

标签: android video android-mediaplayer


【解决方案1】:

我遇到了类似的问题,并且与视频格式(编解码器 MP4、WMV、AVI 等)有关。

尝试在 Android 的默认播放器上播放视频,看看是否可行。如果不行,那么可能是视频编解码器的问题。

不要尝试在 VLC 或 Player MX 等播放器上运行视频,它们已嵌入编解码器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-06
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多