You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android开发:VideoView无法找到raw目录下视频的解决办法

解决VideoView无法读取raw目录视频的问题

嘿,我来帮你排查一下这个问题——VideoView找不到raw目录视频的情况,大多是目录结构、命名或者代码引用的小问题,咱们一步步来:

  • 先确认raw目录的位置是否正确
    你得确保raw目录是直接建在res文件夹下面的,正确路径是app/src/main/res/raw。要是你把它建在了drawable或者其他子目录里,Android系统根本识别不到这个资源目录。

  • 检查视频文件的命名规范
    Android资源文件的命名有严格要求:只能用小写字母、数字、下划线(_)和点(.),绝对不能有空格、大写字母或者特殊符号(比如!@#这类)。举个例子,travel_vlog.mp4是合规的,Travel Vlog.mp4就会导致系统找不到文件。

  • 代码里的引用方式要正确
    别直接写文件路径,要用Android的资源引用方式:
    推荐用更简洁的setVideoResource方法:

    VideoView videoView = findViewById(R.id.video_view);
    videoView.setVideoResource(R.raw.your_video_name); // 这里不要加文件后缀!
    videoView.start();
    

    要是用setVideoURI的话,写法是这样的:

    Uri videoUri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.your_video_name);
    videoView.setVideoURI(videoUri);
    

    重点:这里的your_video_name是不带后缀的文件名,比如你的视频是demo.mp4,就写R.raw.demo,别写成R.raw.demo.mp4,这是很多人踩的坑。

  • 确认文件是否被正确打包
    打开Android Studio的「Project」视图,找到app/build/intermediates/res/merged/debug/raw这个路径,看看你的视频文件是不是在里面。如果不在,说明文件没被系统识别,你可以点击工具栏的「Sync Project with Gradle Files」按钮同步一下项目,或者重新把视频文件复制到raw目录里。

  • 排除视频文件本身的问题
    有时候可能是视频文件损坏导致无法读取,你可以换一个小的、确定能正常播放的mp4文件放到raw目录里测试,看看能不能正常加载,这样就能排除文件本身的问题了。

内容的提问来源于stack exchange,提问作者Tarikul Islam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:28:42