我在视频意图触发方面遇到困难。我尝试录制不到10秒的视频和超过10秒的视频。当我在Activity上调试结果时不返回任何数据。
这是我触发事件的方式...
private void record() {
Intent intent=new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
if(intent.resolveActivity(getActivity().getPackageManager())!=null){
new_video_file=getFilePath();
Uri uri = FileProvider.getUriForFile(getActivity(),
BuildConfig.APPLICATION_ID + ".provider",new_video_file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0.5);
startActivityForResult(intent,VIDEO_REQUEST);
}
}
注意,我想将视频质量设置为中等质量,不确定我是否需要放置0.5或0.5。
你好,我刚刚在Pixel 2 XL api 27中检查了调试,它正常工作。当我在以android 9运行的motorola g 6中运行它时,它不起作用
如果正确设置了FileProvider
,您应该能够从设置为MediaStore.EXTRA_OUTPUT
值的Uri中获取视频。
作为旁注,0.5
对于视频质量不是有效值。从docs:
Intent-extra的名称,用于控制记录的质量视频。这是一个整数属性。当前值0表示低质量,适用于MMS消息,值1表示高质量。在将来可能会添加其他质量级别。
此外,根据我的经验,相机应用程序开发人员应尊重您的质量要求,但并非所有人都遵守。