首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MediaExtractor,带有原始/资产文件的MediaMetadataRetriever

MediaExtractor,带有原始/资产文件的MediaMetadataRetriever
EN

Stack Overflow用户
提问于 2014-06-04 06:45:13
回答 1查看 6.7K关注 0票数 21

我试图在原始/资产文件夹中读取一个视频文件,我尝试过以下方法,但它们都不起作用。我正在API 16上进行测试。每种方法,我都尝试使用和不使用mp4扩展。我真的很感激有人能帮我

所有的方法都不会崩溃,MediaMetadataRetriever可以设置数据源,但不能获得宽度、高度和屏幕快照。VideoExtractor总是回来

代码语言:javascript
复制
06-04 16:44:10.519: E/FileSource(8695): Failed to open file FILE_PATH. (No such file or directory)
06-04 16:44:10.519: E/DecodeActivity(8695): Can't find video info!

逼近1:android.resource

代码语言:javascript
复制
String filePath = "android.resource://" + this.activity.getPackageName() + "/raw/green_backhand_slice";
videoExtractor.setDataSource(activity.getApplicationContext(), Uri.parse(filePath), null);
metaRetriever.setDataSource(act.getApplication(), Uri.parse(filePath));

方法2: android_asset

代码语言:javascript
复制
this.filePath = "file:///android_asset/green_backhand_slice";
videoExtractor.setDataSource(activity.getApplicationContext(), Uri.parse(this.filePath), null);
metaRetriever.setDataSource(act.getApplication(), Uri.parse(filePath));

方法3:资产文件描述符

代码语言:javascript
复制
AssetFileDescriptor assetFD = null;
try {
    assetFD = getAssets().openFd("green_backhand_slice.mp4");
} catch (IOException e) {
    e.printStackTrace();
}

metaRetriever.setDataSource(assetFD.getFileDescriptor());
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-01 22:18:39

以下是一些方法:

1.原始:

代码语言:javascript
复制
final AssetFileDescriptor afd=getResources().openRawResourceFd(R.raw.t);
mediaMetadataRetriever.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());

2.原始数据:

代码语言:javascript
复制
final String uriPath="android.resource://"+getPackageName()+"/raw/t";
final Uri uri=Uri.parse(uriPath);
mediaMetadataRetriever.setDataSource(getApplication(),uri);

3.资产:

代码语言:javascript
复制
final AssetFileDescriptor afd=getAssets().openFd("t.mp4");
mediaMetadataRetriever.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24030756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档