Проблемы со звуком SDL_Mixer

Основная информация:

Язык программирования - С++

Платформа - Windows

Аудио форматы - wav и mid

Я недавно закончил игру и ломал голову над тем, как лучше всего загрузить ее на файлообменник. В конце концов я решил использовать функцию самораспаковывания 7zip. Однако я думаю, что ошибка, которую я совершил, заключалась в том, что вместо того, чтобы просто скопировать то, что мне было нужно, в другую папку и заархивировать это для дистрибутива (т. е. не копировать исходные файлы и т. д.), я переупорядочил реальную папку, в которой находились все мои исходные файлы. и т. д. и разделите его на 2 подпапки для файлов C++, а затем все остальное (эта папка была заархивирована).

Пробовал скачивать и играть, все работает. Однако я вернулся, потому что решил изменить фоновую музыку, и вот тогда-то и началась проблема.

Подводя итог, можно сказать, что Mix_PlayMusic() вызывается и работает правильно. Однако по какой-то причине звук не воспроизводится (как и звуковые эффекты, вызываемые из Mix_PlayChannel()). Странно то, что вы можете слышать музыку, когда звонят Mix_FadeOutMusic(). У меня также есть функция переключения звука, но после тщательного тестирования я пришел к выводу, что проблема не в ней.

В конце концов я решил создать совершенно новый проект и просто перенести все нужные мне файлы в этот проект в той же «организации», в которой они были изначально. Однако проблема все еще существует.

Я понятия не имею, что случилось. Файлы загружаются нормально, просто когда музыка должна играть (а по тестированию так и есть), она не играет. Это относится и к звуковым эффектам.

Редактировать: на самом деле я написал тест для каждого игрового цикла, чтобы определить, играет ли музыка, и, по-видимому, музыка играет. Вот только почему-то не слышно.


person trikker    schedule 18.10.2009    source источник


Ответы (1)


Это может быть несколько вещей. Это может быть проблема с имеющейся у вас библиотекой SDL_Mixer, поэтому вы можете попробовать получить ее еще раз, чтобы исключить это. Возможно, ваша громкость каким-то образом где-то обнулилась, поэтому я бы проверил громкость в качестве теста. И последняя мысль будет заключаться в том, что исходный звуковой файл, который вы воспроизводите, каким-то образом несовместим (маловероятно, если вы можете воспроизвести его в другом звуковом проигрывателе, но возможно). Помимо этих предложений, я не думаю, что смогу помочь вам с данными, которые вы предоставили.

person resolveaswontfix    schedule 19.10.2009
comment
Исправление взлома, которое я сделал, состояло в том, чтобы затухать музыку, а не использовать PlayMusic, и это сработало. Надеюсь, в моем следующем проекте у меня не будет такой же проблемы. - person trikker; 20.10.2009