Войти
ПрограммированиеФорумЗвук

Глюк с потоковым звуком в OpenAL 1.0

#0
19:16, 9 июня 2011

Приветствую дорогие товарищи, у меня очередной баг.
Я добавил OpenAL звуковую библиотеку в свой проект с этой статьи
http://www.gamedev.ru/code/articles/OpenAL?page=2

и у меня два бага:
1. Это вообще какой-то полтергейст, не могу объяснить, видимо не хватает знаний и опыта. Звук работает только в том случае, если запускают игру напрямую через exe файл в папке Release, из самой же среды игра запускается (по F5) но звука нет, тишина... Когда сделал Install'ку игры, то на рабочий стол создал ярлык, и через ярлык тоже звука нет, только если зайти в папку куда установилась игра и запустить ее оттуда! Каким вообще законам это подчиняется, подскажите пожалуйста!

2. Если запускают звук с такими параметрами: 
Snd3D.Open("checkpoint.wav", false, true);
где последний параметр - запуск в отдельном потоке, то звук пропадает, если теряем фокус окна(прога работает в оконном режиме), и уже не играет, когда возвращаемся в окно, или раскрываем его (если оно было свернуто).

Если со вторым еще можно как-то смириться, то первый баг вообще убивает х_х
Подскажите, кто сталкивался с подобным, или выскажите пожалуйста свои предположения, от чего такое может возникать??? Помогите плз


#1
0:35, 10 июня 2011

cky4Ha9I
> первый баг вообще убивает х_х
Это как бы совсем не баг. У тебя пути к файлам указываются относительные, а текущий каталог в разных случаях разный.
Вот и не открываются нужные файлы.

#2
10:55, 10 июня 2011

RPGman, спасибо за совет, только я пока все еще туманно представляю, к каким файлам мне вообще нужно пути указывать.  То есть, что моя программа найти не может, либы, инклуды или сами музыкальные файлы? и где их задать, в "Проектах и решениях" -> "Каталоги VС++"?

#3
14:00, 10 июня 2011

> найти не может, либы, инклуды или сами музыкальные файлы?
Не может найти те файлы, чьи имена указаны в коде. Либы/инклуды никакого отношения к этому не имеют.

#4
15:45, 10 июня 2011

Проверки делай :

// Load Wave file into OpenAL Buffer
if (!ALFWLoadWaveToBuffer("sounds/impreza2002_engine.wav", uiBuffer))
{
MessageBox(NULL,L"Cant load sound - sounds/impreza2002_engine.wav!",L"Error",MB_OK|MB_ICONERROR);
return 0;
}
Да твой файл в таком случае должен лежать в папке sounds - что находится вместе с NAME.EXE.

#5
16:48, 10 июня 2011

Звуковые файлы лежат в той же папке что и .exe. Я лучше попробую написать все заново на OpenAL 1.1 чем буду дальше взрывать себе мозг чужими "примерами"  с 1001 условием для работы. Спасибо всем за помощь! Там беда не только в загрузке файлов, лучше сделаю свое, попутно разобравшись в тонкостях OpenAL

#6
17:29, 10 июня 2011

cky4Ha9I
С нового СДК - самый простейший пример - это playstatic - скомпилируй его, посмотри, что там да как.
Я к примеру чтобы не мучать себя - перенес всю папку Framework и подрубил к проекту. В результате - все работает на ура.

Желаю успехов и удачи! :)

#7
17:50, 10 июня 2011

fzr125, спасибо! я компилил пример playstream, вот только еще не знаю, насколько проигрывание в отдельном потоке повышает производительность, стоит ли вообще заморачиваться с потоковым звуком, а какое это дает преимущество?
П.С. в программировании звука я нуб

#8
15:39, 13 июня 2011

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

#9
17:59, 13 июня 2011

Тогда формируй полный путь к файлу: бери полный путь к приложению и прибавляй относительный путь.

P.S. Какбэ я тебе советовал прочитать книги по данному вопросу - прочел бы и решил проблему раз и навсегда.

#10
19:00, 13 июня 2011

Да, спасибо, вот начал читать Шилдта

#11
8:56, 14 июня 2011

Разобрался с этими настройками, всем большое спасибо, особенно RPGman в наставлении на путь истинный :)

#12
18:08, 14 июня 2011

Упс, при запуске из студии, звук находится и играет, но при создании инсталки и запуске приложения через ярлык с рабочего стола - не находит и звук не проигрывается...что за дела, здесь тоже какие-то настройки нужно делать? кто может подсказать?? я в панике

#13
10:42, 15 июня 2011

Хух, это был тупо настроенный скрипт inno setup, я уже сразу в истерику :)

ПрограммированиеФорумЗвук

Тема в архиве.

Тема закрыта.