Привет пользователи сети:
Прежде всего, спасибо за поддержку моего «Музыкального мира». Возможно, сегодня вы не сможете воспользоваться моей работой. Чтобы каждый мог хорошо ее использовать и чтобы она быстро росла, я открыл исходный код программы из этой версии. Надеюсь, что все специалисты смогут ее улучшить. Здесь я пройдусь по различным частям моей программы.
1. Главное окно.
Функции главного окна включают в себя: динамическое отображение таблицы звуковых волн, настройку левого и правого канала, паузу, продолжение, цикл, следующую песню, предыдущую песню и т. д.
2. Каталог песен.
Эта моя программа написана полностью имитируя Winamp. Будь то главное окно или комбинация трех окон, окно каталога песен поддерживает двойной щелчок по песне для воспроизведения, поддерживает одновременное открытие нескольких файлов, поддерживает перетаскивание файлов из диспетчера ресурсов и поддерживает вторичные файлы. открытие каталога песен. И сохраняйте, через главное окно можно выборочно воспроизводить один файл, воспроизводить последовательно и перемешивать файлы в каталоге.
3. Информация об авторе.
Функция этого окна — составить полный макет трех Winamp и не имеет практического значения.
Средой разработки программы является Delphi6.0, а операционной системой — Win98se. Используемые технические моменты: (1) Прозрачное окно и управление левым и правым каналами во время входа в программу используют вызовы Windows API. (2) Вызов элемента управления Mediaplay в Delphi используется при воспроизведении файлов VCD. (3) VC++, больше всего всех беспокоит вопрос динамических таблиц сигналов. Фактически, я просматриваю информацию по этому вопросу в течение года. Иногда всем нравится писать небольшие инструментальные программы в свободное время на работе. но иногда наших Знаний недостаточно. Если вы хотите достичь уровня Winamp, должно быть много отличий. Конечно, среди пользователей сети могут быть эксперты, что ж, я решу проблемы каждого.
Сначала я подумал, что таблица сигналов получена путем вызова функции API, поэтому проверил все руководства по API и ничего не нашел. Позже я начал исследования на уровне декодирования. В Интернете было так мало информации об этом, что я искал несколько недель и ничего не нашел. Однажды по дороге с работы я продал информационный компакт-диск VC++, и на нем была статья о динамических таблицах сигналов. Благодаря ему я узнал, что генерация таблиц сигналов является результатом декодирования. 8000 переменных-членов. Массив вручную декодирует определенный музыкальный файл и, наконец, выводит его непосредственно через звуковую карту. Сложность выше моего понимания, поскольку объем кода превышает 30 000 строк. А еще у вас есть знания по теории музыки. Трехмерная симуляция музыкальных эффектов также завершается декодированием. Моя ежедневная работа — программирование баз данных, а мои разработки в области мультимедиа далеки от уровня, упомянутого в статье, и каждый формат файла должен иметь разные стандарты декодирования. Эти стандарты разработаны Международной организацией MP3. Подробную информацию можно найти в их технической документации. Мои мультимедийные программы только что были отключены. Моя цель обратилась к сторонним элементам управления. Я хочу использовать сторонние элементы управления для достижения цели декодирования и воспроизведения. Но готового элемента управления до сих пор нет. Несколько дней назад я случайно обнаружил, что компания по декодированию мультимедиа в Шанхае предоставила библиотеку динамического подключения таблицы сигналов. Через него я реализовал отображение таблицы сигналов мультимедиа файлов, но зарезервированных интерфейсов у него не так много, поэтому моя программа не может выполнять перемотку вперед и назад. Если я хочу выполнить функцию, мне придется потратиться. Их динамически подключаемая библиотека поддерживает только декодирование MP3 и не поддерживает декодирование MPG.
Если у вас хватит настойчивости изучить технологию этой компании по декодированию в Шанхае, вы смените свою существующую работу. Я также постоянно учусь и надеюсь, что некоторые пользователи сети смогут полностью решить эту проблему как можно скорее.
Расширять