Android项目中视频存放位置,如何从资源文件夹或原始文件夹中播放android中的视频?...

博主在尝试在Android 2.1模拟器上播放MP4格式的视频,遇到了VideoView无法从raw或assets文件夹加载视频的问题。尝试使用MediaPlayer和FileDescriptor启动播放,但遇到了FileNotFoundException,提示文件可能被压缩。博主寻求示例代码来解决资源文件夹中的视频播放问题,同时也考虑过复制到SD卡的方法,但担心这会浪费时间和内存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何从资源文件夹或原始文件夹中播放android中的视频?

我正在尝试在Android模拟器中播放视频我在我的资源文件夹中的视频以及原始文件夹但是在做了一些研究后仍然无法在我的模拟器中播放视频我正在使用android 2.1我的视频格式是mp4所以我不要认为这应该是一个问题任何人都可以给我一个示例代码,以便我可以了解更多?

问题是我需要显示视频的VideoView只会使用URI或文件路径指向视频。

如果我将视频保存在raw或assets文件夹中,我只能获得输入流或文件描述符,似乎没有什么可用于初始化VideoView。

更新

我仔细研究了MediaPlayer示例,并尝试使用FileDescriptor启动MediaPlayer到资源文件,如下面的代码所示:SurfaceView videoView = (SurfaceView) findViewById(gettingStarted)SurfaceHolder holder = videoView.getHolder();holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);final MediaPlayer player = new MediaPlayer();player.setDisplay(holder);player.setDataSource(getAssets().openFd(fileName).getFileDescriptor());player.prepareAsync();player.setOnPreparedListener(new OnPreparedListener() {

@Override

public void onPrepared(MediaPlayer mp) {

mp.start();

}});

现在我得到以下异常:java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed

似乎没有其他方法可以在启动时将文件复制到SD卡,这似乎浪费时间和内存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值