Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Воспроизведение музыки


Страницы:   1 2

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. Хотелось бы знать, как это на апях выглядеть будет, ну да ладно, пока так сойдёт.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо