相关疑难解决方法(0)

使用Android AudioRecorder录制.Wav

我已经阅读了很多关于Android的AudioRecorder的网页.您可以在问题下方看到它们的列表.

我正在尝试使用AudioRecorder录制音频,但效果不佳.

public class MainActivity extends Activity {

AudioRecord ar = null;
int buffsize = 0;

int blockSize = 256;
boolean isRecording = false;
private Thread recordingThread = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


}

public void baslat(View v)
{
            // when click to START 
    buffsize = AudioRecord.getMinBufferSize(44100, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT);
    ar = new AudioRecord(MediaRecorder.AudioSource.MIC, 44100, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT, buffsize);

    ar.startRecording();

    isRecording = true;
    recordingThread = new Thread(new Runnable() {
        public void run() {
            writeAudioDataToFile();
        }
    }, "AudioRecorder Thread"); …
Run Code Online (Sandbox Code Playgroud)

android audiorecord

12
推荐指数
2
解决办法
3万
查看次数

使用android中的liblame将pcm文件转换为mp3

我正在使用SimpleLameLibForAndroid将使用Android中的AudioRecord类创建的pcm文件转换为mp3.我读取了pcm文件并将其编码为mp3,然后将其写入文件中.结果mp3文件,但不正确,它有很多噪音,真的很难理解它是记录pcm文件.这些是录制的音频规格(pcm文件):

    private static final int RECORDER_SAMPLERATE = 8000;
    private static final int RECORDER_CHANNELS = AudioFormat.CHANNEL_IN_MONO;
    private static final int RECORDER_AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT;    
    int BufferElements2Rec = 1024; // want to play 2048 (2K) since 2 bytes we use only 1024
    int BytesPerElement = 2; // 2 bytes in 16bit format
    recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,
    RECORDER_SAMPLERATE, RECORDER_CHANNELS,
    RECORDER_AUDIO_ENCODING, BufferElements2Rec * BytesPerElement);
Run Code Online (Sandbox Code Playgroud)

这是我的代码使用liblame编码mp3并将其写入文件:

//Encoder.Builder(int inSamplerate,int outChannel,int outSampleRate,int outBitrate)
Encoder en = new Encoder.Builder(8000, 1,8000,128).quality(7).create();
private int PCM_BUF_SIZE = 8192;
private int …
Run Code Online (Sandbox Code Playgroud)

java mp3 android lamemp3

4
推荐指数
1
解决办法
3143
查看次数

标签 统计

android ×2

audiorecord ×1

java ×1

lamemp3 ×1

mp3 ×1