![]() |
Модераторы: Snowy, Alexeis, MetalFan |
![]() ![]() ![]() |
|
GuyFawkes |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.6.2009 Репутация: нет Всего: нет |
Здравствуйте, уважаемые знатоки!
Хотелось бы узнать, как без помощи всяких встроенных функций/DirectSound/MMSystem/сторонних библиотек вроде bass.dll и прочего воспроизвести формат mp3 (потом - и прочие). Суть не в том, что я хочу изобретать велосипед. Просто очень хочется понять и узнать, как прочитать файл (если спецификация есть на руках) и, что главное, его воспроизвести. Дайте, если это возможно, ссылку на хорошо прокомментированный кусок исходного кода, без всяких ненужных приблуд (а то в сорцах той же bass черта с два разберешься) и вообще на общий принцип работы. Заранее благодарен. |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 4 Всего: 191 |
Это какие сорцы? Библиотека с закрытым кодом, насколько мне известно.
Декодер+вывод на звуковое устройство. Тогда не завидую. ASIO еще забыли написать, наверное ![]() Добавлено через 3 минуты и 20 секунд P.S. Самопальные декодеры есть на Delphi, но где точно найти не подскажу. С низкоуровневым выводом звука сложнее, не одну сотню строк кода займет простейший пример. Ищите библиотеки типа NewAC, разбирайтесь. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
mpg123 опенсорсная, но код на С
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
GuyFawkes |
|
||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.6.2009 Репутация: нет Всего: нет |
Таки где-то видел исходники какой-то версии, но, возможно, это лишь мой бредовый сон.
Вот! Самое главное! Как его произвести? Можете даже кинуть в меня куском кода/ссылкой. И тогда подскажите - если остается путь только низкоуровнего вывода звука, как же играют mp3/ogg куча компонентов для дельфи? Они переводят звук в wav-поток и выводят его стандартным образом? |
||||
|
|||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
mp3 можно и через MCI проиграть. Его сейчас чем угодно можно проиграть чуть ли не калькулятором
![]() -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
GuyFawkes |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.6.2009 Репутация: нет Всего: нет |
И еще: если есть возможность воспроизвести мп3 через тот же DirectSound - покажите, как.
|
|||
|
||||
GuyFawkes |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.6.2009 Репутация: нет Всего: нет |
Знаю, код этот простой везде в сети валяется. Но хочу код с DirectSound. Не сочтите упоротым меня) |
|||
|
||||
Keeper89 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
Насколько я знаю, DirectSound mp3 не проигрывает, нужно использовать DirectShow.
|
|||
|
||||
Keeper89 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
Посмотрите вот это.
|
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 4 Всего: 191 |
mp3 перед проигрыванием нужно раскодировать. А дальше подавать на DSound непожатый поток. Для начинающих скажу сразу, что это весьма непросто.
http://symmetrica.net/newac/ - здесь большая библиотека на Delphi, там есть полнофункциональная реализация вывода звука через DSound с предварительной раскодировкой через декодер Windows Media. Я в своей практике раскодировку делал через декодер MAD, потом выдавал на DSound. |
|||
|
||||
GuyFawkes |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.6.2009 Репутация: нет Всего: нет |
Хм, спасибо за ссылку, но там, к сожалению, лишь воспроизведение видео. 2Rrader: библиотеку я скачал, но можете подсказать (без знания материала довольно тяжело начать понимать, раскручивать буду постепенно), в каком исходном файле находится код, непосредственно отвечающий за декодирование mp3? Название как-то связано с ACS? Просто в ее демках MP3-плеер есть, а вот понять, как реализован этот компонент, не могу. |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 4 Всего: 191 |
Декодирование звука там осуществляется через декодер Windows Media.
Я Вам советовал эту библиотеку не с позиции декодера, а с позиции DSound. http://sourceforge.net/projects/delphimpeg/ http://www.google.ru/search?hl=ru&clie...mp;aq=f&oq= |
|||
|
||||
GuyFawkes |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.6.2009 Репутация: нет Всего: нет |
||||
|
||||
SneG0K |
|
|||
![]() Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: нет Всего: 54 |
||||
|
||||
GuyFawkes |
|
||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.6.2009 Репутация: нет Всего: нет |
Скачал delphimpeg. Понял, что декодинг идет в ней самой, а воспроизведение - через MMSystem (MCI)? Верно?
Еще: в OBuffer.pas:
в MPEGPlay.pas
однако вызывается функция WriteBuffer, объявленная как override (в обоих файлах) из OBuffer_MCI, а не из OBuffer_Wave. Почему? Добавлено @ 14:10 мне кажется, я видел все же не хидеры, а полные сорцы. Это сообщение отредактировал(а) GuyFawkes - 2.6.2009, 14:13 |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: Звук, графика и видео" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |