|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.07.2009, 17:26 | #1 |
Delphi\C++
Форумчанин
Регистрация: 18.06.2008
Сообщений: 277
|
Движок на FASM. Плеер с нуля.
Пришла мысль написать свой плеер. Но хочется с нуля. Свойственно для этого нужно писать свой движок. Вопросы такие:
1. Где можно почитать про обращение со звуковой картой? 2. Где можно поискать подробнейшие сведения о Mp3 Wav wma midi? 3. Приведите пожалуйста примерчик, отправки на звуковую карту байтов, и как можно менять громкость воспроизведения этих байтов? Заранее благодарен. |
22.07.2009, 17:46 | #2 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
Общение со звуковой картой, самое удобное, это через DirectSound.
Wav wma midi если не ошибаюсь можно проиграть встроенными функциями - поищите тему от JTG про плеер(в разделе ASM) - там был пример. Сам я этим не занимался так как не было надобности но думаю что тут тоже самое что и с GDI+ - внутри классовая структура для С++ а для всех остальных просто набор функций Просто в С++ есть некая классовая обертка в виде includ-ов. Можно так же посмотреть как в С++ реализованы классы - в конструкторах объектов так или иначе будет внутренний код - т.е. сами функции и вы сможете проследить как все работает. Скажем просмотрев некий класс DirectSoundObject - в конструкторе найдете саму функцию которая делает нужные для инициализации манипуляции. Что касается примеров - не искал. Достаточно погуглить DirectSound C++ и сразу найдете массу примеров. Форматы вышеописанных файлов - два из них прямые, т.е. без кодирования а 2 loss-форматы с сложным(для меня лично - пока что плохо понимаю алгоритмы в которых серьезно задействованы численные методы) кодированием. Речь идет о Д.П.Ф. если не ошибаюсь - ну или как то там связано. В свое время интересовался вопросом MP3 MP4 JPEG - это массовые форматы потому это было интересно. Но забросил так как не было нужной математической подготовки.( курс математики в институте уже около года как закончился - именно тогда когда он стал нужно - суровая реальность ВУЗов...). PS: На форуме FASM-а кажется был пример создания WAV файла - очень наглядно объясняет как с этим форматом работать. Я уже к сожалению не помню что там и как. UPD: нашел файл. Сие творение создано рукой некоего shoorick(С) - копирайты соблюдены Правда файл с WinASM-а на самом деле.
"Тяжело в учении, легко в бою" - А.В. Суворов
Последний раз редактировалось Ivan_32; 22.07.2009 в 17:52. |
22.07.2009, 20:45 | #4 |
Delphi\C++
Форумчанин
Регистрация: 18.06.2008
Сообщений: 277
|
нашёл пример чтобы байты слать в динамик и там на строке : in al, dx программа виснет(
не подскажите в чём проблемма? |
22.07.2009, 22:47 | #6 |
Delphi\C++
Форумчанин
Регистрация: 18.06.2008
Сообщений: 277
|
Goodwin98, хорошо в интернете посмотрю)
Ivan_32, спасибо за информацию. Я решил совместить что-то своё (движок) и DirectSound. Теперь такой вопрос - где прочитать про DirectSound? желательно на дельфи... А и ещё где скачать DSound.pas? я скачал здесь вместе с DDraw - http://195.19.138.139:3000/p/LIBRARY...irectx/DELPHI/, но при компиляции ошибки: [Pascal Error] DDraw.pas(184): E2154 Type 'IDirectDrawSurface' needs finalization - not allowed in variant record [Pascal Error] DDraw.pas(191): E2154 Type 'IDirectDrawSurface' needs finalization - not allowed in variant record [Pascal Error] DDraw.pas(201): E2154 Type 'IDirectDrawSurface' needs finalization - not allowed in variant record [Pascal Error] DDraw.pas(208): E2154 Type 'IDirectDrawSurface' needs finalization - not allowed in variant record [Pascal Error] DDraw.pas(220): E2154 Type 'IDirectDrawSurface' needs finalization - not allowed in variant record [Pascal Error] DDraw.pas(578): E2154 Type 'IDirectDrawSurface' needs finalization - not allowed in variant record [Pascal Error] DDraw.pas(580): E2154 Type 'IDirectDrawSurface' needs finalization - not allowed in variant record [Pascal Fatal Error] DDraw.pas(4652): F2063 Could not compile used unit 'DXCommon.pas' Последний раз редактировалось Crivel; 22.07.2009 в 22:54. |
23.07.2009, 16:01 | #8 |
Delphi\C++
Форумчанин
Регистрация: 18.06.2008
Сообщений: 277
|
Goodwin98, спасибо, я помотрю.
Всем спасибо! я теперь буду решать вопрос совмещения DirecShow, DirectSound с моим движком. (Уже делаю его). |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Учебник по FASM | Roof | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 33 | 09.12.2013 23:16 |
MySQL via FASM | Ivan_32 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 14.05.2009 04:55 |
Помогитеу становить движок на сайт. Движок Joomla | acmilan | WordPress и другие CMS | 2 | 01.04.2009 11:26 |
tasm>>fasm | better | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 11 | 09.02.2009 19:34 |
Меди плеер с нуля | Xmire | Общие вопросы C/C++ | 5 | 03.08.2008 21:52 |