2011-08-10 17 views
0

私はサムスンGalaxySでビデオのサイズを制御できない理由、それは常に他の機器でハイ解像度で記録するだけでなくAndroidのサムスンビデオEXTRA_SIZE_LIMIT 600KマックスMMS

コード例:

Intent intent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE); 
          intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0); 
          intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, UiConstants.MAX_MMS_SIZE); 
          startActivityForResult(intent, NEW_VIDEO); 
          overridePendingTransition(0, 0); 

答えて

1

サムスンのようなAndroidのOEMは、デバイス上のカメラで動作するようにカメラアプリを変更できます。

サムスンのデフォルトカメラアプリケーションのバージョンが低解像度ビデオキャプチャをサポートしていないか、MediaStore.EXTRA_SIZE_LIMITを正しく理解/処理できないため、コードが機能しない可能性が最も高い理由です。

ビデオの最終サイズを確認し、MMSサイズ制限にクリップする互換機能を構築することをお勧めします。

編集:(SamsungとMotorola OG Droidを含む)いくつかのデバイスでMediaStore.EXTRA_SIZE_LIMITを試してみたところ、動作させることができませんでした。しかし、MediaStore.EXTRA_DURATION_LIMITはうまくいきました。

+0

次に、Samsungのデバイスではどのように制限するのですか? – meh

14

これは動作します...

Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); 
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT,10); //10 sec 
intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT,12582912L); //12*1024*1024=12MiB 
startActivityForResult(intent, NEW_VIDEO); 
overridePendingTransition(0, 0); 

「L」は

+4

なぜ1048 * 1048で、1024 * 1024でないのですか? – zozelfelfo

+0

私のためのWoks、ありがとう! – FireZenk

1
intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT,"1048576"); //1048576=(1*1024*1024) 

私は画像サイズ

を制限するために、それを文字列として渡すために持っていたそれは私のサムスンの携帯電話で働いていた。..重要です
関連する問題