2

私は、wav ファイルを記録する Android アプリケーションを開発しています。その後、サウンド データから波形を作成する必要があります。

マイクからの音を録音するために AudioRecorder を使用しています。`

bufferSize = AudioRecord.getMinBufferSize(44100,AudioFormat.CHANNEL_IN_STEREO,AudioFormat.ENCODING_PCM_16BIT);

AudioRecord recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,
        44100,AudioFormat.CHANNEL_IN_STEREO,AudioFormat.ENCODING_PCM_16BIT, bufferSize);

    recorder.startRecording();

    isRecording = true;

    recordingThread = new Thread(new Runnable() {

        @Override
        public void run() {
            writeAudioDataToFile();
        }
    },"Innovolt AudioRecorder Thread");

    recordingThread.start();

これはwavファイルとしてメモリに保存されます。ここまではOKです。

ここで、録音されたサウンド ファイルから振幅の変動を取得する必要があります。

再生せずに録音したwavファイルから振幅配列を取得する方法はありますか? `

4

1 に答える 1

0

最近、この記録用のライブラリを作成しました。あなたはこれをしなければなりません:-

recorder = OmRecorder.wav(
new PullTransport.Default(mic(), new PullTransport.OnAudioChunkPulledListener() {
    @Override public void onAudioChunkPulled(AudioChunk audioChunk) {
      animateVoice((float) (audioChunk.maxAmplitude() / 200.0));
    }
  }), file());

振幅は非常に簡単に取得できます。これに関する詳細情報を見つけることができます:-

https://github.com/kailash09dabhi/OmRecorder

于 2016-08-24T17:08:41.830 に答える