我onActivityResult从mediastore图像选择返回,我可以使用以下内容获取图像的URI:
Uri selectedImage = data.getData();
Run Code Online (Sandbox Code Playgroud)
将其转换为字符串可以得到:
content://media/external/images/media/47
Run Code Online (Sandbox Code Playgroud)
或者路径给出:
/external/images/media/47
Run Code Online (Sandbox Code Playgroud)
但是我似乎无法找到将其转换为绝对路径的方法,因为我想将图像加载到位图而不必将其复制到某处.我知道这可以使用URI和内容解析器完成,但这似乎在重新启动手机时中断,我想MediaStore在重新启动之间不会保持其编号相同.
是否有任何方法可以在Android上剪切视频(mp4或3gp),比如只使用电影的最后5秒......在iphone上这可能是使用AVAssetExportSession但在android上我没有找到类似的东西,只是也许一些对ffmpeg库的引用似乎很复杂.有没有更简单的方法呢?
我需要通过Video实现修剪操作.我正在使用此代码,它在Gallery2软件包安装的手机上完美运行.但它没有返回onActivityResult(如果攻击成功,意图不会返回任何结果).
码:
Intent trimVideoIntent = new Intent("com.android.camera.action.TRIM");
// The key for the extra has been discovered from com.android.gallery3d.app.PhotoPage.KEY_MEDIA_ITEM_PATH
trimVideoIntent.putExtra("media-item-path", FilePath);
trimVideoIntent.setData(videoUri);
// Check if the device can handle the Intent
List<ResolveInfo> list = getPackageManager().queryIntentActivities(trimVideoIntent, 0);
if (null != list && list.size() > 0) {
startActivityForResult(trimVideoIntent,2); // Fires TrimVideo activity into being active
}else {
Toast.makeText(this, "Video trimming not supported", 1).show();
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在修剪和返回结果后关闭gallery2?