2012-05-11 2 views
1

Есть ли способ выбрать выходной видеоформат видеозаписи, записанной с помощью установки Intent extra? Или я могу сделать это в функции обработки после записи? Я пытаюсь сделать видео, которое я только что записал, и отправить его в MMS-сообщении с использованием намерения ACTION_SEND, но он не будет принимать формат .mp4, который камера хранит в нем.Изменить формат ACTION_VIDEO_CAPTURE

Как бы я это сделал?

Edit: Это то, что мой код записи:

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); 
+0

Вы собираете видео с родного видеомагнитофона устройства? Или вы сами записываете видео в своем приложении? –

+0

Я использую собственный видеомагнитофон, используя намерение ACTION_VIDEO_CAPTURE –

+0

Я думаю, что лучше всего написать собственную видеозапись, которая позволяет вам установить любые настройки, которые вы хотите. Посмотрите, поможет ли это: http: //stackoverflow.com/questions/1817742/android-video-recording-sample –

ответ

2

Вы можете передать любого из следующих дополнительных х намерению ACTION_VIDEO_CAPTURE хотя я вполне уверен, что это не то, что ищет точно, но позволяет копать в него немного больше.

EXTRA_OUTPUT 
EXTRA_VIDEO_QUALITY 
EXTRA_SIZE_LIMIT 
EXTRA_DURATION_LIMIT 

Хотя я не думаю, что существует ограничение протокола о размере файла для MMS' может быть, есть предел в Android ( просто спекулируют здесь между 300Кб & 500kb хотя некоторые устройства позволяют увеличить его в настройках сообщений), попробуйте отправить видео с более низким качеством и, возможно, ограничить размер, чтобы проверить, разрешает ли это вашу проблему.

Причина, почему я говорю это потому, что я помню, что-то подобное некоторое время назад, и сообщение об ошибке было что-то вроде (со ссылкой на мою память):

К сожалению, вы не можете добавить это видео в свой сообщение

Это оказалось ограниченным размером, о котором я упоминал, а не кодировкой или типом файла.

Update

Looking at the docs я обнаружил упоминание в мм на вещи в Mediastore, особенно на EXTRA_VIDEO_QUALITY один, здесь:

Название Намерение-экстра используется для контроля качество записанного видео. Это целочисленное свойство. В настоящее время значение 0 означает низкое качество, подходит для MMS-сообщений, а значение 1 означает высокое качество. В будущем могут быть добавлены другие уровни качества.

+0

Точное сообщение об ошибке, которое я получаю: «Извините, вы не можете добавить это видео в свое сообщение». У меня уже есть этот набор: \t \t videoIntent.putExtra (MediaStore.EXTRA_VIDEO_QUALITY, 0); –

+0

Тогда это, вероятно, означает, что размер файла слишком велик, попробуйте действительно очень маленькое видео низкого качества и посмотрите, работает ли оно. –

+0

Я записал ~ 50 кб, и я получаю ту же ошибку. Примечание: это только для приложений для SMS/MMS, а не для электронной почты/facebook/etc. –

Смежные вопросы