Я разрабатываю игру на Android, и я наткнулся на очень раздражающую, труднодоступную ошибку. Проблема в том, что, когда вы используете SoundPool
для воспроизведения ваших звуков, вы можете на самом деле зацикливать любой звук, который вы играете. В этом случае проблема заключается в звуке "бегущих шагов"; этот звук выполняется довольно быстро и постоянно (вокруг каждого 400ms
), когда главный символ работает.
Теперь при воспроизведении звука на обычном (не очень мощном) устройстве, например. Samsung SII, звук воспроизводится каждый 500ms
- однако, если я запускаю тот же самый код на другом устройстве (скажем, Samsung SIV, Samsung SIII), звук воспроизводится дважды или даже в три раза быстрее.
Похоже, что чем мощнее аппаратные спецификации устройства, тем быстрее он играет. На некоторых устройствах он работает так быстро, что вы почти слышите один сплошной непрерывный звук. Я искал методы, чтобы установить определенный коэффициент в промежуток времени между звуковыми играми, но он не работает должным образом, и проблема остается. Кто-нибудь знает, как исправить это, используя SoundPool
, MediaPlayer
или любой другой управляющий звуком API на Android?