Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Как написать декомпрессор аудио?


Автор: Курсант 5.11.2017, 20:09
Коллеги, всем доброго времени суток!

У меня возникла интересная идея алгоритма для компрессии аудио, и я собираю информацию для воплощения этой идеи в виде программных решений. На данный момент интересует стандарт для кодеков. А именно, какой API должен быть реализован в кодеке для того, чтобы плеер мог использовать его для воспроизведения файлов. Ну и вообще как в винде реализован механизм аудиокодеков, где они должны прописываться, и тому подобное.

Спасибо за внимание!

Добавлено @ 20:13
Т.е. на данный момент варианта у меня два - произвести компрессию блока данных из wav-файла и сразу же декомпрессию обратно в wav-файл, чтобы прослушать восстановленный результат и оценить "ущерб" от компрессии. Но вообще хотелось бы поступить технологично, а именно произвести компрессию в свой формат и воспроизвести файл нового формата через плеер. Для этого нужно, помимо программы-компрессора, написать декодер аудиоформата для Windows. А как он туда встраивается я не знаю, и где посмотреть тоже не знаю, и вообще я кот, и у меня лапки..

Автор: GremlinProg 6.11.2017, 21:04
Начните отсюда: https://msdn.microsoft.com/en-us/library/vs/alm/dd742935(v=vs.85).aspx,
далее, смотрите исходники драйверов по ключевым словам acmDriverProc filetype:c или acmDriverAdd filetype:c

я так нашел пример реализации ACM-драйвера: http://joyasystems.com/sample-code/Windows%20Driver%20Samples%2FMsfilter%20Sample%20Codec%2Fdescription.html
наверняка есть еще примеры

Автор: xvr 7.11.2017, 11:48
Цитата(Курсант @  5.11.2017,  20:09 Найти цитируемый пост)
А именно, какой API должен быть реализован в кодеке для того, чтобы плеер мог использовать его для воспроизведения файлов.

Если имеется в виду Windows Media Player, то он использует https://msdn.microsoft.com/ru-ru/library/windows/desktop/dd375454(v=vs.85).aspx
Соответственно вам нужен DS Filter (пример аудио фильтра - https://msdn.microsoft.com/ru-ru/library/windows/desktop/dd375814(v=vs.85).aspx )
Ну и вообще сэмплы - https://msdn.microsoft.com/ru-ru/library/windows/desktop/dd375468(v=vs.85).aspx

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)