AndroidでAudioRecordから経過時間を計算するには?
私がやろうとしていることは、図 5(2 番目のグラフ)に似ています。さらに自分自身を説明すると、私はリアルタイムで音を録音してから、ピッチをグラフ化し、一定時間内にバッファリングされたデータを計算しています。
AndroidでAudioRecordから経過時間を計算するには?
私がやろうとしていることは、図 5(2 番目のグラフ)に似ています。さらに自分自身を説明すると、私はリアルタイムで音を録音してから、ピッチをグラフ化し、一定時間内にバッファリングされたデータを計算しています。
計算するだけで、記録されたデータのサイズがわかり、サンプルレートとチャンネル数もわかるはずです。したがって、マイケルが投稿したコメントは正しいです。
私はマイケルのコメントに従い、録音後にオーディオの長さを秒単位で計算することに成功しました。
int SAMPLE_RATE_IN_HZ = 44100;
int AUDIO_FORMAT = AudioFormat.ENCODING_PCM_16BIT; // Guaranteed to be supported by devices
int CHANNEL_CONFIG = AudioFormat.CHANNEL_IN_MONO; // Is guaranteed to work on all devices
File audioFile = yourRecordingLogicHere();
long audioLengthInSeconds = audioFile.length() / (2 * SAMPLE_RATE_IN_HZ);
私はモノラルで録音する*2
ので、マイケルのコメントよりも乗算が 1 つ少なくなります。