AdroidStudio:尝试播放mp4,但始终显示为文本文件

问题描述

我不确定发生了什么。我只是想通过android studio运行一个简单的一分钟视频,并且由于某种原因,当文件调用时,它就会崩溃。

这是我的mainActivity,我看不到任何问题

package com.example.videodemo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.VideoView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        VideoView videoView = (VideoView) findViewById(R.id.videoView);
        videoView.setVideoPath("android.resource://" + getPackageName() + "/" + R.raw.introVid);
        videoView.start();
    }
}

这是我尝试运行该应用程序时看到的mp4文件发生的情况

enter image description here

我不确定发生了什么事,甚至在使缓存无效后甚至重启androidStudio仍然有相同的问题

解决方法

使用Uri代替Path

VideoView videoView = (VideoView) findViewById(R.id.videoView);
    videoView.setVideoUri(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.introVid));  // try this code
    videoView.start();
,

因此,视频资源也必须使用(只能包含小写字母a-z,0-9)。