2011-02-04 12 views
0

MediaRecorderを簡単なオーディオレコーダーとして設定すると、私の "recorderName.prepare()"がEclipseによって "未処理のIOException"として表示されています。Android MediaRecorder .prepare未処理のIOEcept

私はいくつかのエラー例外を配置すると、プログラムが実行されますが、明らかに.prepareステートメントは機能しません。 MediaRecorderのため

私が作ることができる限り、私が宣言したすべてのもの:

はAudioSource OUTPUTFORMAT エンコーダ私もマニフェストにRECORD_AUDIOとWRITE_EXTERNAL_STORAGE許可を宣言した OutputFileは

import android.media.MediaRecorder; 
private MediaRecorder mRec; //Gobal 
. 
. 
. 
public void StartRec() 
{ 
      mRec = new MediaRecorder(); 
      mRec.setAudioSource(MediaRecorder.AudioSource.MIC); 
      mRec.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
      mRec.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
      mRec.setOutputFile(Environment.getExternalStorageDirectory().getAbsolutePath()+"/test.3gp"); 

      mRec.prepare(); //Underlined as an Unhandled Exception 
      mRec.start(); 
} 

Eclipseでは、メソッドに宣言をキャッチまたは追加することをお勧めします。

エミュレータから生成されたスタックトレースについては、私はアプリケーションをコンパイルできません。

また、私はこれを2週間以内に行っていたことに留意してください。

この質問はacheingly簡単なことが、私はちょうど私がオプトアウトやヘルプ:(

を求めにおける正当化さを感じるのAndroidに出始めただけだった考えることはサンキュー

+0

をトラブルがあるコードを投稿してください。また、発生したエラーのスタックトレースを投稿してください。 –

答えて

0

そのprepare()機能できIOExceptionを投げると、Javaは常に例外が 'キャッチ'されるかスローされるよう指示します。

Eclipseはあなたがこれをキャッチしていないことを警告しています。ティン

try{ 
    mRec.prepare(); //Underlined as an Unhandled Exception 
}catch (IOException e){ 
    Log.e("yourTag","There was a problem: ".e->toString()); 
} 

これが唯一のエラーがある場合、あなたはそれをキャッチし、エラー報告を行うことを意味します。 これは次のようになります。

* プログラムを実行するとエラーが発生しますが、明らかに.prepareステートメントは機能しません。 *

しかし、それは本当に明らかですか?あなたがエラーを生成しているなら、それを試して修正するべきですが、そうでない場合(暗黙のようですか?)、コードはうまくいくでしょう。試しにキャッチしてもprepareの実行が妨げられることはありませんが、問題があることを示すケース(これは例外的なケースです(たとえば、ファイルを使用、見つけたり開いたりできない場合があります)にのみオプションが与えられます。

(また、このリンクをチェックアウト:例外のいくつかの詳細はoracle java manual)を

+0

さて、私は間違った時点で準備を呼んでいると思った。ありがとう、私は今それと遊びに行くだろう。 – FullySearchable