2017-11-23 8 views
0

AudioRecordクラスを使用して、オーディオを.mp3形式で録音して保存します。現在は.pcm形式で記録しています。私は記録のために以下のコードを使用しました。 -AudioRecordを使用してオーディオを.mp3形式で録音する

private void writeAudioDataToFile() { 
    // Write the output audio in byte 

    String filePath = "/sdcard/voice8K16bitmono.pcm"; 
    short sData[] = new short[BufferElements2Rec]; 

    FileOutputStream os = null; 
    try { 
     os = new FileOutputStream(filePath); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } 

    while (isRecording) { 
     // gets the voice output from microphone to byte format 

     m_audioRecord.read(sData, 0, BufferElements2Rec); 
     System.out.println("Short wirting to file" + sData.toString()); 
     try { 
      // // writes the data to file from buffer 
      // // stores the voice buffer 

      byte bData[] = short2byte(sData); 

      os.write(bData, 0, BufferElements2Rec * BytesPerElement); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

    try { 
     os.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

    private byte[] short2byte(short[] sData) { 
    int shortArrsize = sData.length; 
    byte[] bytes = new byte[shortArrsize * 2]; 

    for (int i = 0; i < shortArrsize; i++) { 
     bytes[i * 2] = (byte) (sData[i] & 0x00FF); 
     bytes[(i * 2) + 1] = (byte) (sData[i] >> 8); 
     sData[i] = 0; 
    } 
    return bytes; 

} 

上記の2つの方法は、ファイルを.pcm形式で記録する方法です。 AudioRecordクラスを使用してオーディオを.mp3形式で保存することは可能ですか?

+1

あなたが試したコードをここに追加してください。 –

+0

私はコード –

+0

を追加しました。自動着信録音を録音しますか? –

答えて

0

MP3のレコードファイルがアンドロイドで利用できるエンコーダはありません。ネイティブ機能を使用してmp3を達成することはできません。これを達成するためにサードパーティのライブラリを使用することができます。

thisの投稿を確認してください。お手数ですが、

関連する問題