android - 在 Android 上播放 mp4 文件时没有视频显示

标签 android video mp4 galaxy-tab

我尝试在 res/raw 中渲染我添加到我的 android 资源的 mp4 文件,如下所示:

public class Main extends RoboActivity
{
    @InjectView(R.id.introVideo)
    private VideoView introVideo;

    private MediaPlayer player;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.main);

        player = MediaPlayer.create(this, R.raw.intro_video2);
        SurfaceHolder holder = introVideo.getHolder();
        player.setDisplay(holder);
        player.start();

        player.setOnCompletionListener(new OnCompletionListener() {
            public void onCompletion(MediaPlayer mp)
            {
                startActivity(new Intent(Main.this, Story.class));
                releasePlayer();
            }
        });
    }

    @Override
    protected void onPause()
    {
        super.onPause();
        releasePlayer();
    }

    @Override
    protected void onDestroy()
    {
        super.onDestroy();
        releasePlayer();
    }

    private void releasePlayer()
    {
        if (player != null)
        {
            player.release();
        }
    }
}

但我所体验到的只是视频的声音,我的 Samsung GalaxyTab 屏幕一直空白。源文件是一个 mp4 文件(H.264 AVC,960x640,30fps),可以用 Quicktime 和 VLC 完美播放。

我尝试使用 Handbrake 缩小原始视频并调整其大小,降低到 480x320 和 25fps,我尝试了 handbrake 中的几种设置,但都没有成功。

我的代码是否有任何明显的错误,或者是视频格式还是其他问题 - 我做错了什么?

提前致谢, 托马斯。

最佳答案

我无法通过上述方式工作,但我发现当我单独使用 Android 的 VideoView 提供的功能时它可以工作,如下所示:

...
String videoUri = "android.resource://my.package.path/raw/intro_video";
introVideo.setVideoURI(Uri.parse(videoUri));
introVideo.start();
...

关于android - 在 Android 上播放 mp4 文件时没有视频显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6618326/

相关文章:

android - 究竟如何使用 Notification.Builder

iphone - 在 iOS 上的 UIWebView 中观看 Vimeo 视频

html - 如何防止下载 HTML5 视频

Android "no app can perform this action"通过 URL 但在手机上工作正常

ffmpeg - 如何计算mp4视频的开始时间?

android - 如何在 react-native-firebase 中获取 firebase auth signInWithPhoneNumber 的验证回调?

android - JSON在android中合并两个响应

jquery - 嵌入没有 youtube 链接的 youtube 视频

android - 应用过滤器复合体因与音频相关的内容而失败

java - 无法从 GoogleWeather API 获取内容长度