以前制作していたアプリで修正が入り、もう一度詳しいところまで調べなおしたので、それのまとめメモ。 Androidで、マイクから録音して、そのデータを再生するアプリを作っていました。 で、こうした処理をする時に肝となるのがAudioRecordクラスの setNotificationMarkerPosition(int markerInFrames) setPositionNotificationPeriod(int periodInFrames) setRecordPositionUpdateListener(AudioRecord.OnRecordPositionUpdateListener listener) の、3つの関数に対する設定値とその処理。 当初、なんとなくで設定して動いていたものの、サンプリングレートを変更すると動かなくなる、といった良く分からない状況が続いていたというか、