オーディオトラックを使用してストリームモードで別のサウンドを再生しています。 私は、それぞれのサウンドがいつ演奏されるかを知る方法があるかどうかを知りたいと思います。AudioTrack - サウンドの開始/終了を知る方法?
私はこのようなオーディオトラックを作成:
AudioTrack tmpAudioTrack = new AudioTrack(
STREAM_TYPE,
SAMPLE_RATE,
CHANNEL_CONFIG_TYPE,
AUDIO_FORMAT_TYPE,
getOptimalBufferSize(),
AUDIO_TRACK_MODE);'
そして、バックグラウンドスレッドでそれを起動します。
backround_thread = new Thread(new MyRunnable(aTrack));
backround_thread.start();
私は実行可能な内部でこのように各サウンドを書く:
byte generatedSnd[] = new byte[2 * beepSamples];
<code for filling the buffer with sound here>
int bytesWritten = track.write(generatedSnd, 0, generatedSnd.length);
を
AudioTrack APIのいずれか、setNotificationMarkerPosition、setLoopPoints、seなどを使用できますこれを行うにはtPositionNotificationPeriod?どのように機能するのですか?
各サウンドは、異なる持続時間にすることができます。私はこれが鍵だと思う。
私はこれらのAPIのドキュメントを完全に理解していません。各フレームはサンプルと同じですか?各サウンドの開始/終了位置のマーカーを指定するにはどうすればよいですか?
ありがとう、
少なくとも、誰もsetNotificationMarkerPositionとsetPositionNotificationPeriodの違いを知っていますか? – mikemeli