나는 진자에 대해 지정된 스윙 간격이 750 밀리 초이고 최대 스윙 아크에서 단일 오디오 파일을 재생하는 메트로놈 유형의 애플리케이션을 만들었습니다 ... 진자의 스윙을 반복하고 사운드를 무기한 재생합니다. 그러나 코드 실행의 실제 타이밍이 장치마다 매우 다양하며 단일 장치에서 차이가 나는 경우도 있습니다. 저의 의도는 진자를 분당 80 비트의 속도로 흔들고 각 "비트"로 오디오 파일을 재생하는 것입니다. 오디오 파일을 재생하는 데 필요한 시간을 수용하도록 750 밀리 초 설정을 조정했습니다. 이는 밀리 초 설정을 750에서 약 680으로 약간 줄였습니다. 다양한 장치를 사용하여 테스트 한 결과, 타이밍을 정의하더라도 다양한 Android 장치로 테스트했을 때 메트로놈의 1 분 실행 결과가 크게 달라졌습니다. 밀리 초 단위의 요소.다양한 Android 기기 및 OS 버전에서 오디오 시퀀싱의 일관된 타이밍을 제공하는 방법은 무엇입니까?
Android SoundPool을 사용하여 .wav 파일에 액세스하여 사운드를 재생하고 있습니다.
Soundpool 타이밍 문제 및 우려 사항에 대한 언급이 많이 있지만, 이와 같은 응용 프로그램에 일관된 타이밍을 제공 할 수있는 실행 가능하고 안정적인 솔루션을 찾지 못했습니다.
진자의 스윙은 지정된 지연에 따라 꽤 일정한 것으로 보이므로 변이가 오디오를 재생하는 SoundPool 코드의 실행 중 가변 타이밍으로 인한 것 같습니다. Android에서 일관되고 정확한 타이밍 간격으로 사운드를 재생할 수있는 코드를 실행할 수있는 확실한 방법이 있습니까?