LINUX.ORG.RU

Звук в pygame


0

0

Такая проблема - по событию MOUSEBUTTONDOWN происходит:
sound = pygame.mixer.Sound("boom.ogg")
sound.play()
Звук играет с задержкой! Тоже самое и в solarwolf. Гугл не помог.


>sound = pygame.mixer.Sound("boom.ogg")

Ты прямо в обработчике события это делаешь? Если в пайгейме нет кеширования загруженных звуков (не ковырял звуковую часть), то потратится время на загрузку звука перед тем, как вызовется play(), что естественно ведёт к задержке.

Проинициализируй sound в самом начале, а в обработчике только вызывай play()

shuthdar ★★★
()

Глянул доки, там не только кеширования нету, но и ресемплинг при загрузке производится. И ты ещё хочешь отсутствия задержек :)

shuthdar ★★★
()
Ответ на: комментарий от shuthdar

>>sound = pygame.mixer.Sound("boom.ogg")

>Ты прямо в обработчике события это делаешь? Если в пайгейме нет кеширования загруженных звуков (не ковырял звуковую часть), то потратится время на загрузку звука перед тем, как вызовется play(), что естественно ведёт к задержке.

>Проинициализируй sound в самом начале, а в обработчике только вызывай play()

Исправил, но это не помогло. В solarsolf и примерах pygame тоже есть задержка. А если запускать под оффтопиком то все работает как надо!

surik
() автор топика
Ответ на: комментарий от surik

Тогда проблема в звуковой подсистеме, где-то там возможно задержки. Запусти какую-нибудь игру на пайгейме и посмотри - будут задержки или нет. Если будут - проблемы в ALSA или ещё в чём-то, висящем на звуковухе.

shuthdar ★★★
()
Ответ на: комментарий от shuthdar

В pygame играх есть задержка! Я уже писал про это! Сейчас попробовал на прямую SDL_mixer в нем тоже задержка! В supertux'е все нормально, но там вроде openal.

surik
() автор топика
Ответ на: комментарий от surik

Стейбл? Если да - можно репортить им в багзилу (хотя ничего не зная о твоей системе, не факт, что проблема именно в сдл), если нет - попробуй откатиться на стабильную версию.

shuthdar ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.