Akış modunda farklı sesler çalmak için Ses parçasını kullanıyorum. Her sesin ne zaman biteceğini/sona erdiğini bilmenin bir yolu olup olmadığını bilmek istiyorum.AudioTrack - bir sesin ne zaman başlayacağını/bittiğini nasıl anlarsınız?
AudioTrack tmpAudioTrack = new AudioTrack(
STREAM_TYPE,
SAMPLE_RATE,
CHANNEL_CONFIG_TYPE,
AUDIO_FORMAT_TYPE,
getOptimalBufferSize(),
AUDIO_TRACK_MODE);'
Ve arka plan iş parçacığı başlatmak:
böyle ses oluşturmakbackround_thread = new Thread(new MyRunnable(aTrack));
backround_thread.start();
ben çalıştırılabilir içi şöyle her sesi yazma:
byte generatedSnd[] = new byte[2 * beepSamples];
<code for filling the buffer with sound here>
int bytesWritten = track.write(generatedSnd, 0, generatedSnd.length);
Bu setNotificationMarkerPosition veya setLoopPoints gibi AudioTrack API'lerinden herhangi birini kullanmak mümkündür veya se tPositionNotificationPeriod bunu başarmak için? ve nasıl çalışırlar?
Her ses farklı bir süre olabilir. Bence bu anahtar.
Bu API'ların belgelerini tam olarak anlamıyorum. Her çerçeve bir örnekle aynı mıdır? Her sesin nerede başladığını/sonlandırılacağını nasıl belirtebilirim?
Teşekkürler,
En azından setNotificationMarkerPosition ve setPositionNotificationPeriod arasındaki farkı bilen var mı? – mikemeli