Lame を使用して、Android で wav を mp3 にエンコードしています。
http://lame.sourceforge.net/ - LAME、このツタンカーメン。 http://developer.samsung.com/android/technical-docs/Porting-and-using-LAME-MP3-on-Android-with-JNI、すべてうまくいきます。libmp3lame.so とラッパー部分を作成します。ここでの問題は、wav ファイルを mp3 ファイルにエンコードするときに、出力ファイルにバジー ノイズが含まれていることです。省略された構成があるかどうかはわかりません。コードは以下のとおりです。
// encoding params initializing
public static final int NUM_CHANNELS = 2;
public static final int SAMPLE_RATE = 16000;
public static final int BITRATE = 48;
public static final int MODE = 1;
public static final int QUALITY = 2;
private File mRawFile;
private File mEncodedFile;
// the following is for encoding
initEncoder(NUM_CHANNELS, SAMPLE_RATE, BITRATE, MODE, QUALITY);
File path = Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
// encoding
mRawFile = new File(path, "Vox_021.wav");
mEncodedFile = new File(path, "newmp3.mp3");
int result = encodeFile(mRawFile.getAbsolutePath(),
mEncodedFile.getAbsolutePath());
if (result == 0) {
Log.i("test", "encoded");
}
// / encoding done
wavファイル「vox_021.wav」のサンプルレートは16000、ビット深度は16、ステレオです。エンコードされたmp3ファイルがノイズを出力する理由が本当にわかりません。これに 2 日以上取り組んできました。