Nul*_*ion 21 mp4 android assets
我需要从assets文件夹打开一个mp4视频,然后用VideoView播放它.
我尝试了这两个选项,但它们都不起作用....
mVideoView.setVideoPath("file:///android_asset/videos.mp4");
mVideoView.requestFocus();
mVideoView.start();
Run Code Online (Sandbox Code Playgroud)
和...
String uriPath = "file:///android_asset/videos.mp4";
Uri uri = Uri.parse(uriPath);
mVideoView.setVideoURI(uri);
mVideoView.requestFocus();
mVideoView.start();
Run Code Online (Sandbox Code Playgroud)
这些选项不起作用,但是如果我尝试从SDCARD打开视频它运行正常,那么问题是当我尝试从assets文件夹加载视频时.
我做错了什么?
谢谢
js-*_*js- 32
我不知道如何从assets文件夹加载视频.但我知道如何从/ res/raw /文件夹加载它们:
String uriPath = "android.resource://yourapplicationpackage/raw/videofilenamewithoutextension";
Uri uri = Uri.parse(uriPath);
video.setVideoURI(uri);
Run Code Online (Sandbox Code Playgroud)
Jor*_*sys 24
\assets无法播放.mp4文件,您必须从\raw文件夹中加载.mp4文件.例:
如果您在文件夹中调用video.mp4了一个/raw文件:
String fileName = "android.resource://"+ getPackageName() + "/raw/video";
VideoView vv = (VideoView) this.findViewById(R.id.surface);
vv.setVideoURI(Uri.parse(fileName));
vv.start();
Run Code Online (Sandbox Code Playgroud)
EDITED
尝试:
this.setContentView(R.layout.videoview);
mVideoView = (VideoView) this.findViewById(R.id.surface_view);
SurfaceHolder holder = mVideoView.getHolder();
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
MediaPlayer player = new MediaPlayer();
player.setDisplay(holder);
AssetFileDescriptor afd;
try {
afd = getAssets().openFd("v.mp4");
player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(), afd.getLength());
player.prepareAsync();
player.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
} catch (Exception e) { e.printStackTrace();}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33551 次 |
| 最近记录: |