2017-02-03 16 views
0

ボタンタッチでは、Androidアプリケーションでオーディオの録音を開始しますが、録音した音声を再生すると、ここで ボタンの押下で録音された音声は、アンドロイドデバイスの再生時間がありません

は、によって与えられたボタンタッチで音声の録音を開始するために私のコードスニペットです:タッチイベントi)が(この 開始を呼び始めたの検知に

public void start() { 

    myRecorder = new MediaRecorder(); 
    myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
    myRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
    myRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB); 
    myRecorder.setOutputFile(outputFile); 

    try { 
     myRecorder.prepare(); 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    myRecorder.start(); 
    text.setText("Recording point: Recording..."); 

} 

機能。 どのようなボディでも私に何か別の解決策を教えてもらえますか?私はglaxy s3アンドロイドデバイスでこの問題に直面しました。

答えて

1
myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
myRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
myRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB); 
myRecorder.setOutputFile(outputFile); 

上記コードの一部いくつかの時間がかかり、したがってボタンを押下するユーザとの間の遅延(start()が呼び出されている)と、実際に記録(myRecorder.start())を起動レコーダ。

ボタンを押す前に、レコーダーを初期化して準備をしておく必要があります。上のコードを他の場所に移動するだけです。 onCreate()。私はこのコードの文脈を知らないので、どこに正確に伝えることはできません。

関連する問題