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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2009, 17:26   #1
Crivel
Delphi\C++
Форумчанин
 
Аватар для Crivel
 
Регистрация: 18.06.2008
Сообщений: 277
По умолчанию Движок на FASM. Плеер с нуля.

Пришла мысль написать свой плеер. Но хочется с нуля. Свойственно для этого нужно писать свой движок. Вопросы такие:
1. Где можно почитать про обращение со звуковой картой?
2. Где можно поискать подробнейшие сведения о Mp3 Wav wma midi?
3. Приведите пожалуйста примерчик, отправки на звуковую карту байтов, и как можно менять громкость воспроизведения этих байтов?

Заранее благодарен.
Crivel вне форума Ответить с цитированием
Старый 22.07.2009, 17:46   #2
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 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-а на самом деле.
Вложения
Тип файла: zip wave_2.0.0.11.2.zip (1.6 Кб, 52 просмотров)
"Тяжело в учении, легко в бою" - А.В. Суворов

Последний раз редактировалось Ivan_32; 22.07.2009 в 17:52.
Ivan_32 вне форума Ответить с цитированием
Старый 22.07.2009, 18:19   #3
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Вот посмотри примеры. Там правда, под МАСМ, но я думаю проблем переделать не составит
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 22.07.2009, 20:45   #4
Crivel
Delphi\C++
Форумчанин
 
Аватар для Crivel
 
Регистрация: 18.06.2008
Сообщений: 277
По умолчанию

нашёл пример чтобы байты слать в динамик и там на строке : in al, dx программа виснет(
не подскажите в чём проблемма?
Crivel вне форума Ответить с цитированием
Старый 22.07.2009, 20:53   #5
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Проблема в том, что под виндой порты не работают. Работай через апи.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 22.07.2009, 22:47   #6
Crivel
Delphi\C++
Форумчанин
 
Аватар для Crivel
 
Регистрация: 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.
Crivel вне форума Ответить с цитированием
Старый 22.07.2009, 23:20   #7
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

А что вы хотели услышать?
Вот вам список стандартных апи для работы с wav и midi.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 23.07.2009, 16:01   #8
Crivel
Delphi\C++
Форумчанин
 
Аватар для Crivel
 
Регистрация: 18.06.2008
Сообщений: 277
По умолчанию

Goodwin98, спасибо, я помотрю.
Всем спасибо! я теперь буду решать вопрос совмещения DirecShow, DirectSound с моим движком. (Уже делаю его).
Crivel вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Учебник по 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