2011-12-22 6 views
1

まず、既に尋ねられたことを許してください、またはGoogleで簡単に見つけることができます。私は限られた時間しか持っていないので、私はこれを掲示しています。ここでは、オーディオとビデオを記録するコードです。カメラの入力:サポートされていないパラメータ

 stopPreview(); 

     Log.d("streamer", "Start camera....."); 
     videoRecorder = new MediaRecorder(); 
     videoRecorder.setPreviewDisplay(surfaceView.getHolder() 
       .getSurface()); 
     videoRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
     videoRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
     videoRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP); 
     videoRecorder.setVideoSize(800, 600); 
     videoRecorder.setVideoFrameRate(30); 
     videoRecorder.setOutputFile(videoPipe.getOutput()); 
     videoRecorder.prepare(); 
     videoRecorder.start(); 
     Log.d("streamer", "Start camera.....action......."); 

     Log.d("streamer", "Start mic....."); 
     audioRecorder = new MediaRecorder(); 
     audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
     audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR); 
     audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
     audioRecorder.setOutputFile(audioPipe.getOutput()); 
     audioRecorder.prepare(); 
     audioRecorder.start(); 
     Log.d("streamer", "Start mic.....action"); 

しかし、私が実行すると、上記のコードはlogcatで次のようになります。

12-22 09:05:43.456: E/CameraInput(2407): Unsupported parameter(x-pvmf/media-input-node/cap-config-interface;valtype=key_specific_value) 
12-22 09:05:43.456: E/CameraInput(2407): VerifiyAndSetParameter failed on parameter #0 

..... 
12-22 09:05:43.456: E/CameraInput(2407): VerifiyAndSetParameter failed on parameter #0 
12-22 09:05:43.464: E/MediaProfiles(2407): mCodec : 2 
12-22 09:05:43.464: E/MediaProfiles(2407): mCodec : 1 
12-22 09:05:43.464: E/MediaProfiles(2407): mCodec : 3 

プレビュー表示の表面図はフリーズしているようです。最後に撮影した画像のフレームを表示します。また、ビデオ&の音声は録音されていないようです。何が問題になるでしょうか?どんな助けでも大歓迎です!

注:

Android 2.2搭載のSamsung Galaxy Tabで試しています。次の2行をコメントアウト

 videoRecorder.setVideoSize(800, 600); 
     videoRecorder.setVideoFrameRate(30); 

次の権限がマニフェストファイルに設定されている問題を解決するようではありません。

<uses-permission android:name="android.permission.CAMERA"></uses-permission> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.RECORD_AUDIO"/> 

答えて

2

あなたがSupported Media Formatsが表示された場合、MPEG-4 SPのために、あなたは3GP(THREE_GPP)出力形式を使用する必要があります。
だから、私は何をしています、私はLive555ではでライブストリーミングのためにこのメディアを記録したい、と私は、MPEG-4が必要

videoRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
+0

で試すことができますか? – Jomoos

+0

ファイル形式をMP4またはビデオコーデックをMPEG-4 SPにしますか?これらは2つの別々のものです。 3GPファイルフォーマットは、いくつかのアトムにいくつかの変更を加えたMP4ファイルフォーマットと同じです。だからMP4プレーヤーも3GPをサポートすべきです。 Plsチェック。 – Karthik

+0

ファイル形式をMPEG-4にしたい場合は、ビデオコーデックをH.263またはH.264 AVCに変更する必要があります。 BTW、H.263はMPEG-4 SPと同じですので、MPEG-4ファイル形式の組み合わせでH.263ビデオコーデックを使用することができます。 – Karthik

関連する問題