![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Воспроизведение музыки
boalse © (2005-08-13 11:04:00)Нужно воспроизвести музыкальный файл, mp3 или ogg (Кстати, что такое ogg и лучше ли он mp3). Как это сделать при помощи API. Вообще, игру пишу на DelphiX, может там есть какие функции. Нужно иметь возможность регулировать громкость звука и определять, закончилось ли воспроизведение текущего звукового файла, или нет.
boalse (2005-09-01 06:05:00) [1]Никак не могу понять, как перемещаться по файлу, перепрыгнуть на середину, например. Помогите, пожалуйста, это последний вопрос в этой ветке.
boalse (2005-08-23 13:54:00) [2]
> Frost aka Freak
Большое спасибо, уже пробёг. Много интересного узнал. И ещё узнаю.
Frost aka Freak (2005-08-23 12:17:00) [3]2 boalse:
Ты невнимательно читал мануал - там же написано
With AL_PITCH you can make the source sound higher.
With AL_GAIN you specify how loud the sound is played.
Какое слово ты не понял?
AL_GAIN меняет громкость, но не от 0 до 1, а от 0 и до упора :)
Еще раз пробегись по всему материалу http://www.noeska.com/doal/tutorials.aspx
boalse (2005-08-23 08:51:00) [4]XProger, да не важно это, фигня. Изобретал я тут чего-то. Важно лишь что громкость от 0 до 1 меняется. отсюда и буду плясать
XProger (2005-08-23 07:58:00) [5]Что есть 1.8?
boalse (2005-08-23 06:00:00) [6]А всё оказалось просто :)
procedure TALForm.TrackBar1Change(Sender: TObject);
begin
alSourcef(OGGStream.source, AL_Gain, 1/(TrackBar1.Position*1.8));
end;
boalse (2005-08-23 04:17:00) [7]Меня интересует регулировка громкости, не знаю как сделать. Искал в юните что-то вроде Volume - не нашёл и намёка. Вот тут:
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1120637163&n=9
наткнулся на функции alListenerf(AL_GAIN, GeneralVolume)
и AlSourcef ( source, AL_GAIN, 1.0 ), но куда их втыкать, так и не сообразил. Втыкать пробывал вот в этот пример:
http://www.delphigl.de/files/OpenAL_OggStream.zip
MeF Dei Corvi (2005-08-22 14:41:00) [8]Хотя, если подумать, то PNG так и не обошел GIF, даже не смотря на свою бесплатность... Так что mp3 рулит, на низком битрейте OGG звучит лучше, но в наше время никто не будет слушать музыку с битрейтом ниже 128.
MeF Dei Corvi (2005-08-22 14:37:00) [9]
> Ну, это маловероятно, потому что .ogg тоже не вчера появился,
> но широкого распространения так и не получил.
Окончательно формат OGG определился совсем недавно, к тому же он бесплатный, так что при содействии геймдевелоперов может получить широкое распространение.
Frost aka Freak (2005-08-22 13:19:00) [10]2 MeF Dei Corvi:
Согласись, что если примириться с распространением вместе с игрой чего-то стороннего, то логичным было бы идти до конца и сразу встроить поддержку стороннего API в свою игру. Тем более, такого удобного, как OpenAL.
Если OGG и дальше будет развиваться в том же духе, то MP3 долго жить не будет
Ну, это маловероятно, потому что .ogg тоже не вчера появился, но широкого распространения так и не получил.
MeF Dei Corvi (2005-08-22 13:04:00) [11]
> Стандартный декодер .ogg в системе не присутствует, вроде
Декодер XVid и DivX тоже в стандартной поставке системы не присутствуют, но тем не менее лично у меня почти 100Гб фильмов в этих форматах...
Если OGG и дальше будет развиваться в том же духе, то MP3 долго жить не будет.
А декодер можно и с игрой поставлять...
Frost aka Freak (2005-08-22 12:16:00) [12]2 boalse:
Внимательней посмотри мой предыдущий пост.
2XProger:
А декодировать ты чем собрался? Стандартный декодер .ogg в системе не присутствует, вроде
XProger (2005-08-22 06:52:00) [13]Frost aka Freak, после декодировки у тебя на руках будет буфер данных которые проиграет не только OpenAL и DSound, но и Win API (mmSystem)
boalse (2005-08-22 06:13:00) [14]А есть примеры по работе с OpenAl на Delphi?
Frost aka Freak (2005-08-15 11:17:00) [15]С помошью какого API ты собрался воспроизводить звук? Стандартными средствами Windows проиграть .ogg (оптимальный формат для разработчиков коммерческого/shareware софта, IMHO) не получится. Поэтому советую использовать OpenAL (для Delphi http://www.noeska.com/doal/default.aspx) от Creative. Бесплатно, очень просто и гарантированно поддерживается всеми карточками Creative и совместимыми. По сути - тот же звуковой API, хотя и не стандартный.
Zer0 (2005-08-15 10:25:00) [16][21] boalse
Я правильно понимаю - xm файлы по качеству много хуже тех же mp3 или ogg
Неправильно понимаешь. знающие люди говорят что искусство писать хорошую музыку мало зависит от вида записи этой самой музыки. RTFM: http://en.wikipedia.org/wiki/Module_file http://en.wikipedia.org/wiki/Tracker
вобщемто xm файлы не записывают а сочиняют, это по сути не сжатые звуковые потоки а нотные записи с семплами-инструментами.
boalse (2005-08-15 08:07:00) [17]Я правильно понимаю - xm файлы по качеству много хуже тех же mp3 или ogg, или же качество зависит от того, кто эти xm записывает?
XProger (2005-08-15 07:41:00) [18]boalse, Ну вот и ответ - MiniFMOD'ом воспроизвожу ( http://XProger.mirgames.ru- XTropper)
Antonn (2005-08-14 12:14:00) [19]boalse © (14.08.05 6:41) [17]
Использовать Винамп не хотелось бы, ведь не у всех пользователей он есть,
дык я не говорил о самом ВинАмпе, а только о его in/out плугинах. TWinampPlayer вроде назывался.
boalse (2005-08-14 09:16:00) [20]Фууууууу, блин, ну наконец-то нашёл хоть что-то работающее.
http://www.compiler4.net/acs/download.html
Завелось с пол оборота, жаль, что не на API. Хотелось бы знать, как это на апях выглядеть будет, ну да ладно, пока так сойдёт.