Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2011, 15:05   #1
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию Как установить и воспроизвести

Есть библиотека вот сайт http://www.biocyborg.narod.ru/mix/minifmod_m.htm

MINIFMOD как ее установить????

есть музыка сайт http://www.keygenmusic.net (раширение mod xm ) как ее потом воспроизвести с помощью этой библиотеки???
cargo29 вне форума Ответить с цитированием
Старый 08.04.2011, 15:31   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Есть библиотека вот сайт http://www.biocyborg.narod.ru/mix/minifmod_m.htm

MINIFMOD как ее установить????
странный вопрос, правда? Особенно, если пройти по ссылке и просто прочитать, что пишет разработчик:
Цитата:
Библиотека MiniFMOD

Библиотека FMOD, пожалуй, самая мощная и гибкая среди всех рассматриваемых библиотек. Ее можно свободно и без ограничений использовать в некоммерческих продуктах, а также испытывать ее возможности в коммерческом продукте до его выпуска в продажу. Единственным недостатком для Delphi-программистов является необходимость поставлять со своей программой еще и дополнительный DLL-модуль этой библиотеки. Кроме того, приобретение лизензии на использование этой библиотеки в коммерческом продукте выльется в довольно большую сумму.

Кроме основной библиотеки FMOD, разработчики предоставляют некий "побочный" продукт своих исследований, а именно мини-библиотеку MiniFMOD. Эта библиотека поставляется в исходных кодах на языке С и может быть свободно использована как в некоммерческих продуктах, так и в коммерческих. Единственное предназначение библиотеки заключается в воспроизведении трекерных файлов формата XM. Однако, по утверждению авторов, библиотека MiniFMOD проигрывает такие файлы несколько хуже "основной" библиотеки FMOD, в которой предлагаются гораздо более качественные и точные алгоритмы воспроизведения.

Большим достоинством библиотеки MiniFMOD является ее компактность. Скомпилированный код библиотеки занимает чуть более 15Кб. Такой размер позволяет использовать эту библиотеку в любых приложениях, включая такие экстремальные случаи, как DEMOSCENE-программы.

При портировании библиотеки MiniFMOD для Delphi автор столкнулся с серьезными трудностями. Оказалось, что напрямую получить объектные модули для подключения к ObjectPascal/Delphi невозможно, так как компилятор Borland C 5.5 не смог скомпилировать исходный текст этой библиотеки. Можно конечно было создать динамический модуль DLL с помощью компилятора MSVC++ 6.0, однако тогда все преимущества библиотеки MiniFMOD были бы потеряны.

Было принято следующее техническое решение. С помощью компилятора MSVC++ 6.0 был получен ассемблерный листинг модулей библиотеки, скорректирован согласно стандарту ассемблера Borland BASM, и скомпилирован этим ассемблером в объектные модули, совместимые с компилятором ObjectPascal/Delphi. Кроме того, в интерфейсном модуле пришлось реализовать некоторые функции семейства ANSI C, отсутствующие в ObjectPascal/Delphi.

<<< Портированная библиотека MiniFMOD и пример к ней

Рассмотрим пример использования библиотеки MiniFMOD. Для начала необходимо создать ресурсный файл с трекерной композицией. Созданим файл описания ресурсов "Resources.rc" и создадим в нем ресурсный элемент с именем "XMMUSIC" и типом "RCDATA". Этот ресурсный элемент будет указывать на внешний файл с трекерной композицией. При компиляции этого описания компилятором ресурсов мы получим готовый ресурсный файл с этой композицией.
\Resources\Resources.rc

XMMUSIC RCDATA XMMUSIC.XM

До инициализации библиотеки MiniFMOD функцией FSOUND_Init, мы должны передать библиотеке указатели на наши потоковые функции - те функции которые обеспечивают загрузку, чтение и закрытие трекерной композиции, как бинарного потока данных.

Реализованные в портированной версии потоковые функции оперируют трекерными композициями только из ресурсов приложения. Можно создать и передать библиотеке указатели на другие потоковые функции, которые будут загружать трекерные композиции из файлов на диске или из блоков в памяти.

Загрузка трекерной композиции осуществляется с помощью функции FMUSIC_LoadSong, а воспроизведение запускается функцией FMUSIC_PlaySong. В качестве идентификатора трекерной композиции мы должны передать имя ресурсного элемента, содержащего эту композицию.
...
// Инициализация библиотеки
FSOUND_File_SetCallbacks(@XMFile_Op enCallback, @XMFile_CloseCallback,
@XMFile_ReadCallback, @XMFile_SeekCallback, @XMFile_TellCallback);
FSOUND_Init(44100, 0);
// Начинаем проигрывание файла из ресурсов приложения
MusicPlayer := FMUSIC_LoadSong('XMMUSIC', nil);
FMUSIC_PlaySong(MusicPlayer);
...

Воспроизведение трекерной композиции завершается функцией FMUSIC_FreeSong, а деинициализация библиотеки осуществляется функцией FSOUND_Close.
...
// Завершаем проигрывание музыки
FMUSIC_FreeSong(MusicPlayer);
FSOUND_Close;
...
© Николай Мазуркин, 2003
даже пример готовый с исходником есть. Правда, странно что там пошагово все расписано?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 08.04.2011, 20:40   #3
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
странный вопрос, правда? Особенно, если пройти по ссылке и просто прочитать, что пишет разработчик:
даже пример готовый с исходником есть. Правда, странно что там пошагово все расписано?
а ты попробуй.. я файл ресурса получить не могу, ошибка выскакивает.
ответа на вопрос не последовало один флуд
cargo29 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как воспроизвести в win32 api на с или с++ тон с заданной частотой? добрый_фей Помощь студентам 1 15.01.2011 00:42
как воспроизвести видео не из файла а из памяти? s.Creator Мультимедиа в Delphi 9 06.01.2010 23:42
Как воспроизвести звук ? RNT Общие вопросы C/C++ 9 13.08.2009 20:04
Как воспроизвести файл MP3 vitamin.rulez Помощь студентам 13 27.01.2009 20:23