오디오 트랙을 사용하여 스트림 모드에서 다른 소리를 재생하고 있습니다. 각 사운드가 언제 재생되는지를 알 수있는 방법이 있는지 알고 싶습니다.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);
setNotificationMarkerPosition, setLoopPoints 또는 se와 같은 AudioTrack API를 사용할 수 있습니다 이것을 달성하기위한 tPositionNotificationPeriod? 어떻게 작동합니까?
각 사운드는 서로 다른 지속 시간을 가질 수 있습니다. 나는 이것이 열쇠라고 생각한다.
이 API에 대한 설명서를 완전히 이해하지 못했습니다. 각 프레임은 샘플과 같은가요? 각 사운드의 시작/끝 위치에 마커를 어떻게 지정합니까?
감사합니다.
적어도 누구나 setNotificationMarkerPosition과 setPositionNotificationPeriod의 차이점을 알고 있습니까? – mikemeli