Форум: "Игры";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
ВнизBASS или FMOD? Найти похожие ветки
← →
Galiaf © (2006-06-17 14:14) [0]Imho я думаю что fmod популярнее т.к. библиотеку bass видел только в примерах glscene.
У меня имеются BASS 1.6a и FMOD 3.7 и по примеру в glscene\Demos\sound\3Dsound\ заметил какую-то нестабильность fmod, хотя bass в том же случае остаётся стабильным. Теперь точнее: если много раз запускать звук в bass то он не изменяется и звучит один поверх другого, но в fmod при частом проигрывании того же звука заметно, что звук в начале нормальный, а после нескольких запусков становится тихим или что-то вроде того. Ещё у меня при использовании fmod время от времени появляется ошибка в процедуре TGLSMFMOD.KillSource в строке Assert(False, IntToStr(Integer(p))) сперва я думал, что ошибка у меня в коде (хотя сейчас я ещё не исключаю этого), но возможно, что fmod иногда не справляется с удалением звука (я ещё не совсем разобрался с работой этих компонентов по этому прошу не придираться к словам).
Вообще-то я просто хотел спросить, что лучше использовать и чем они вообще отличаются, но если можно, то объясните с какой проблемой я мог столкнуться.
← →
HPR (2006-06-17 14:56) [1]Есть еще audiere, но у меня почему-то звуковые эффекты не хотят открываться (AdrOpenSoundEffect возвращает nil)
← →
Rial © (2006-06-17 16:04) [2]Не могу ничего скзать по сабжу, но у меня обсолютно
идентичная проблема, но уже в OpenAL.
Я думаю, проблема где - то глубже.
Возможно, виноват сам DirectSound.
Хотя не исключаю просто одинаковый угол кривизны наших рук :))
Попробуй поиздеваться над Bass как следует.
Мне хочется знать: там точно нет такой ошибки ?
← →
Fosgen (2006-06-17 18:02) [3]При использовании и bass и fmod и audiere не встретил никаких проблем. Единственное - audiere глючит по скорости проигрывания при запуске приложения под дельфей - в отладке. А в остальном - у меня на SB Live! 5.1 - все - ОК. Audiere проигрывает нормально и wav и mp3 и ogg...
Рабочий пример:
begin
AudioDevice := AdrOpenDevice(nil, nil);
AudioDevice.Ref;
SoundFile := AdrOpenFile(PChar("Data\music\battle" + ".ogg"), False);
SoundFile.Ref;
SampleSource := AdrOpenSampleSourceFromFile(SoundFile, FF_AUTODETECT);
SampleSource.Ref;
OutputStream := AdrOpenSound(AudioDevice, SampleSource, False);
OutputStream.Ref;
OutPutStream.SetRepeat(True);
//OutputStream.SetPitchShift(0.5);//баловался со скоростью
OutputStream.SetVolume(MainOption.MusicVol / 100);
OutputStream.Play;
end;
← →
Galiaf © (2006-06-17 18:12) [4]
> Rial © (17.06.06 16:04) [2]
ты сам попробовал бы поиздеваться
> Fosgen (17.06.06 18:02) [3]
а посоветуешь что использовать из сабжа и как там твой проект?
← →
HPR (2006-06-17 22:14) [5]
> При использовании и bass и fmod и audiere не встретил никаких
> проблем. Единственное - audiere глючит по скорости проигрывания
> при запуске приложения под дельфей - в отладке. А в остальном
> - у меня на SB Live! 5.1 - все - ОК. Audiere проигрывает
> нормально и wav и mp3 и ogg...
>
> Рабочий пример:
>
>
> begin
> AudioDevice := AdrOpenDevice(nil, nil);
> AudioDevice.Ref;
> SoundFile := AdrOpenFile(PChar("Data\music\battle" +
> ".ogg"), False);
> SoundFile.Ref;
> SampleSource := AdrOpenSampleSourceFromFile(SoundFile,
> FF_AUTODETECT);
> SampleSource.Ref;
> OutputStream := AdrOpenSound(AudioDevice, SampleSource,
> False);
> OutputStream.Ref;
> OutPutStream.SetRepeat(True);
> //OutputStream.SetPitchShift(0.5);//баловался со скоростью
> OutputStream.SetVolume(MainOption.MusicVol / 100);
> OutputStream.Play;
> end;
AdrOpenSound как правило используется для проигрывания длинных мелодий, т.е. фоновой музыки. А для звуковых эффектов (взрывы и т.п.) должна использоваться AdrOpenSoundEffect - попробуй ее использовать. У меня не работает :(
Кстати, у тебя в коде, который ты привел SampleSource не равно nil после выполнения AdrOpenSampleSourceFromFile?
← →
Fosgen (2006-06-18 10:47) [6]Если бы SampleSource было бы равно nil - то след. же строка: SampleSource.Ref;
дала Access Violation. Как может выполниться метод объекта, если сам объект = nil?
Пока для эффектов использую bass - по старинке, до применения audiere в этом направлении еще руки не дошли... Не до этого сейчас.
Я думаю все дело еще в форматах файлов, которые вы используете. Кодировщиков что в mp3, что в ogg - развелось немеряно, может в этом проблема?
Я для МР3 пользую Fraunhofer IIS
Для OGG - Xiph.Org libVorbis I
← →
Galiaf © (2006-06-18 13:11) [7]Я тупо поставил вместо fmod bass, больше ничего не менял и ошибки больше нет. Ещё до того как обратиться к форуму пробовал найти ошибку в коде, не нашёл, засовывал участок кода связанный со звуками в скобки try except end ошибка не пропала (конечно же я проверял не из делфи т.к. если запускать из делфи, то ошибка всё равно появится), а при использовании bass всё идёт гладко. Возможно дело в самом звуке и способности проигрывать такой звук fmod’ом т.к. другие звуки проигрывает нормально.
Теперь подробнее где возникала ошибка:
У меня при взрыве бомбы сам объект уничтожается destroy’ем и на этом месте создаётся даммикуб на который налаживается звук и включается его проигрывание.
new:=tgldummycube(eff.AddNewChild(tgldummycube));
new.Position.SetPoint(b.x,0.5,b.z);
new.VisibleAtRunTime:=true;
with TGLBSoundEmitter.Create(new.Behaviours) do begin
Source.SoundLibrary:=GLSoundLibrary1;
Source.SoundName:="explosion.wav";
Playing:=True;
end;
Если выставить 5 бомб в ряд, то одна бомба взрывает другую и т.о. звук проигрывается 5 раз с высокой частотой но не одновременно как в обычном бомбермене из-за особенностей игры.
Ещё воспользуюсь случаем: если я в процедуре объявляю какой-нибудь объект и создаю его несколько раз, скажем в цикле, не может ли это быть неправильным? У меня пока проблем с этим не было и я переделывал на несколько объявленных, ничего не изменилось. Точнее: при взрыве всё той же бомбы создаются по очереди 4 даммикуба хотя в процедуре объявлен только один и на них налаживается эффект огня, после чего они летят по назначению. Никаких проблем связанных с этим ещё не было.
Ещё, если я беру звук из какой-нибудь игры я нарушаю авторские права? Если да, то какой выход посоветуете.
← →
XProger © (2006-06-18 15:25) [8]Извините, а чем вас работа напрямую с DirectSound не устраивает?
← →
Rial © (2006-06-18 15:40) [9]
> XProger © (18.06.06 15:25) [8]
>
> Извините, а чем вас работа напрямую с DirectSound не устраивает?
>
Мне, например, религиозные убеждения мешают.
← →
HPR (2006-06-18 16:06) [10]
> Если бы SampleSource было бы равно nil - то след. же строка:
> SampleSource.Ref;
> дала Access Violation. Как может выполниться метод объекта,
> если сам объект = nil?
> Пока для эффектов использую bass - по старинке, до применения
> audiere в этом направлении еще руки не дошли... Не до этого
> сейчас.
> Я думаю все дело еще в форматах файлов, которые вы используете.
> Кодировщиков что в mp3, что в ogg - развелось немеряно,
> может в этом проблема?
> Я для МР3 пользую Fraunhofer IIS
> Для OGG - Xiph.Org libVorbis I
Я использовал разные форматы - *.wav; *.ogg; *.xm и другие
Просьба: вышли пожалуйста audiere.pas на rain35[@]rambler.ru
← →
XProger © (2006-06-18 18:47) [11]Rial,
FMOD, Bass, audire, OpenAL и т.п. под Win32 используют DirectSound
← →
Rial © (2006-06-18 19:40) [12]
> XProger © (18.06.06 18:47) [11]
> Rial,
> FMOD, Bass, audire, OpenAL и т.п. под Win32 используют DirectSound
Я это знаю.
Синтаксис там ближе после OpenGL.
Мне, например, не нравится, что DirectX.pas такой большой. :)
А среди Audiere,Bass и FMOD -только одна бесплатная.
Да и не знаю DirectSound - вот в чем причина.
Есть, правда, Ваши исходники (как примеры), но чужого не беру.
У меня два вопроса:
1. При использовании DirectSound производительность сильно вырастет (по отношению к OpenAL)?
2. Это нормально, что использвание более 8-9 источников
сильно тормозит ? Или это у меня руки кривые ?
← →
grouzd)ev © (2006-06-18 20:10) [13]Не знаю насчет прироста скорости, но я от OAL отказался из-за размера установочника (~500кб) который нужно постоянно таскать с собой и ставить вместе со своей программой. да и по сравнению с DirectX.pas (который, врочем, все равно прилеплен к OAL) полметра это очень неслабо
---
... we are walking on a thin line and you better avoid the risk ...
← →
Galiaf © (2006-06-18 20:46) [14]
> XProger © (18.06.06 15:25) [8]
>
> Извините, а чем вас работа напрямую с DirectSound не устраивает?
>
не встречался ещё по этому даже в голову не пршло.
← →
XProger © (2006-06-18 21:13) [15]Rial, из DirectX.pas нужна только пара-тройка интерфейсов. 64 источника с небольшими тормозами - выжать можно без проблем...
← →
Fosgen (2006-06-18 21:48) [16]HPR (18.06.06 16:06) [10]
Выслал на указанный адрес - отмахнись как придет.
← →
Galiaf © (2006-06-19 21:25) [17]А bass вообще расчитан на звуки типа музыки по минуть 5 длинной? Просто я пытаюсь подключить, а он в меня ошибкой... ошибкой. Обидно, блин. Если можно, как подключать такие звуки в рантайме?
← →
antonn © (2006-06-20 06:29) [18]Galiaf © (19.06.06 21:25) [17]
bass вообще употребляют для плееров обычно, вот и прикинь, какой там длиной обычно:)
у меня mp3 на 181 минуту спокойно отыгрывал:)
← →
HPR (2006-06-20 14:05) [19]
> Fosgen (18.06.06 21:48) [16]
> HPR (18.06.06 16:06) [10]
> Выслал на указанный адрес - отмахнись как придет.
Не пришло...
Но проблема уже решена.
← →
Fosgen (2006-06-21 09:21) [20]2: HPR (20.06.06 14:05) [19]
Однако траблы у Вас с ящиком...
This is the Postfix program at host mxb.rambler.ru.
I"m sorry to have to inform you that your message could not
be delivered to one or more recipients. It"s attached below.
For further assistance, please send mail to <postmaster>
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The Postfix program
<rain35@ramber.ru>: delivery temporarily suspended: connect to
148.240.4.32[148.240.4.32]: No route to host
← →
HPR (2006-06-21 12:05) [21]Да ладно - ерунда. Все равно спасибо!
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.046 c