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