![]() |
Народ, как оптимальнеэ всего сделать поддержку МР3 в своих програмах:
через MP3.h, MP3.ocx или другими способами(например хаudio.dll)? |
Admiral если тебе нужно просто проигрывать звуковые фрагменты, то значительно проще использовать формат wav. Не парься.
|
Угу, особенно если они мелкие, в пределах ~2-5 (а может и более) секунд. К примеру, если присмотреться, то звуки Half-Life все в wav'ках.
|
Kuper
Prisoner Имхо, человек собирается проигрывать музыку, а не звуковые эффоекты. Wav - это всё-таки от лени. Admiral Поскольку про язык программирования ни слова, посмотрите вот это. Мне вот интересно, когда же directx начнёт поддерживать vp3 напрямую |
hasherfrog
Спасибо, но я хотел узнать как лучше для процессора, что б наименьше он грузился из-за этой музыки. Например когда играет Winamp там всего 1-2% а когда этот ТМеdiaPlayer целых 5%. Ассемблер не предлагать. Если на С то плеєр не так уж грузит процесор, но там долго писать, на Делфи намного быстрее и легче. Мож кто знает где можно достать SDK для хаudio.dll(кроме офицыального сайта)? |
hasherfrog, а ты "сожми" пятисекундную вафельку в mp3 и погляди процент "сжатия" :). В теме малых вафель разговор не о лени, имхо.
|
:no: Чтобы подсунуть directX'у wav-ку, никаких телодвижений не нужно. А mp3 придётся пергнать в pcm, то есть нужен кодек, шмодек и ... начинающего программиста начинают посещать именно такие вопросы, какие задаёт Admiral. И Именно это я это имею в виду, когда говорю о лени. А то, что для звуковых эффектов целесообразнее использовать вавки, :yes: я не спорю - это было известно с древнейших времён, ещё с доса. Помню, откроешь файл с каким-нибудь экзотическим расширением - а там вавка без хидера. |
Есть вопрос как в программу зашить музыку - т.е. загружаешь программу и начинает проигрываться музыка (одна и таже по кругу), но не отдельным файлом, а в теле программы. Сам новичок пробую Delphi. Просто видел как-то кряк для какой-то программы (точно не помню какой), его запускаешь и начинает идти мызыка. Если кто знает как это сделать, подскажите, заранее спасибо.
|
Есть такая штука как ресурс, он компилируется компилятором ресурсов и потом прилинковывается к исполняемому модулю, таким образом программа может содержать в себе картинки и много чего еще.
Алгоритм в общем-то прост: 1) Создать rc-файл, он текстовый. Код:
WAV1 WAV wav1.wav Код:
brcc32 наш_файл.rc 3) Получившийся на выходе наш_файл.res необходимо "прилинковать" к проекту, для этого в каком-нибудь юните вставляете такую опцию компилирования Код:
{$R наш_файл} |
Много времени прошло после создания темы, а интереса к теме (по крайне мере у меня) не поубавилось.
Вот написанный мною пример на Visual Basic 6.0 с использованием мультимедийной библиотеки Bass (исп. версия 2.2, в настоящее время уже доступна 2.3). Код:
Option Explicit Так вот, обратите внимание на функции таймера Код:
Dim A As Integer 'Количество песен в списке Естественно средне статическая песня играет значительно больше. Так вот, я узнаю в сколько раз больше она играет, и сохраняю данное значение в переменной. А таймер каждый интервал, будет проверят, не пора ли переключится на следующую песню. А так как интервал (кроме последнего, а иногда и первого, если песня короче 65535 мс) достаточно велик, то и нагрузка на CPU будет достаточно либеральна. P.S. До этой реализации я использовал mp3.ocx производства Vision Factory, который можно скачать вместе с примером. Во времена создания темы меня устраивал, но теперь увы требования по серьёзней. Там естественно никакого таймера не надо было придумывать. У объекта мр3.осх есть событие SongPlayed() которое и отвечает за конец песни. Достаточно написать Код:
|
Время: 22:09. |
Время: 22:09.
© OSzone.net 2001-