Android 更改动作\u视频\u捕获的格式

Android 更改动作\u视频\u捕获的格式,android,video,format,Android,Video,Format,是否有一种方法可以通过设置一个Intent extra来选择录制视频的视频格式输出?或者我可以在录制后处理功能中执行此操作?我试图做的是拍摄我刚刚录制的视频,并使用动作发送意图以彩信的形式发送,但它不会采用相机存储的.mp4格式 我该怎么做呢 编辑:这是我的录音代码: Intent videoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); videoIntent.putExtra(MediaStore.EXTRA_DURATION_LI

是否有一种方法可以通过设置一个Intent extra来选择录制视频的视频格式输出?或者我可以在录制后处理功能中执行此操作?我试图做的是拍摄我刚刚录制的视频,并使用动作发送意图以彩信的形式发送,但它不会采用相机存储的.mp4格式

我该怎么做呢

编辑:这是我的录音代码:

Intent videoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
videoIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 60);
videoIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
startActivityForResult(videoIntent, VIDEO_ACTIVITY);

您可以将以下任何额外内容传递给intent
ACTION\u VIDEO\u CAPTURE
,尽管我很确定这不是您想要的,但让我们再深入一点

EXTRA_OUTPUT
EXTRA_VIDEO_QUALITY
EXTRA_SIZE_LIMIT
EXTRA_DURATION_LIMIT
虽然我不认为彩信的文件大小有协议限制,但安卓系统中可能有限制(这里只是猜测300kb和500kb之间,尽管有些设备允许您在消息设置中增加),所以尝试发送质量较低的视频,可能还有大小限制,以检查这是否解决了您的问题

我之所以这么说,是因为我记得不久前发生过类似的事情,错误消息是(引用我的记忆):

很抱歉,您无法将此视频添加到您的邮件中

这就是我提到的大小限制,而不是编码或文件类型

更新

我发现有人向彩信提及MediaStore的内容,特别是关于
EXTRA\u VIDEO\u QUALITY
one的内容,如下所示:

用于控制录制的视频质量的视频的名称。这是一个整数属性当前值0表示低质量,适用于彩信,值1表示高质量。将来可能会添加其他质量级别


您是否正在从设备的本机录像机收集视频?还是你自己在应用程序中录制视频?我使用的是本机视频录像机,使用的是动作视频捕获功能。我认为你最好编写自己的视频录制活动,它允许你设置任何你想要的设置。看看这是否有帮助:糟糕,我希望不必走这条路…哦,好吧,看来我最终不得不尝试一下。根据下面的答案,在你浪费任何时间构建自己的录音机之前(这不是一个大麻烦,链接中的代码是非常现成的),试着制作一个小视频并将其保存在SD卡上,然后发送。。。看看限制是什么,然后构建这些限制。这正是我收到的错误消息,“对不起,您不能将此视频添加到您的消息”。我已经有了这套:videoIntent.putExtra(MediaStore.EXTRA\u VIDEO\u QUALITY,0);这可能意味着文件太大了,试着用一个非常小的低质量视频,看看它是否能正常工作。我录制了大约50KB的视频,我得到了同样的错误。注意:这仅适用于SMS/MMS应用程序,不适用于email/facebook/etcMaybe在发送到MMS之前将其存储在本地?您是否尝试使用本地文件而不是摄像头中的流式文件?是的,我将其存储在SD卡上的本地文件中,并通过该文件发送到MMS。