![]() |
Модераторы: Snowy, Alexeis, MetalFan |
![]() ![]() ![]() |
|
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
Подскажите, пожалуйста как можно отобразить графически проигрываемый звук. Я читаю данные из файла с помощью mmio.. и waveout.. и проигрываю все это, но надо еще это отобразить на экране.
|
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Можно построить осцилограму, или показать спектр.
Идею предлагаю "украсть" у winampa -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
||||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Массив звуковых данных полагаю имеется.
Так просто рисуется график по имеющимся точкам в нужном масштабе. Уточните проблему... -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
Массив звуковых данных есть. Проблема как отрисовывать параллельно воспроизведению. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Значит нужно в реальном времени.
Можно посмотреть на процедуру воспроизведения звука. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
|
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
WaveOutBufferSizes[ActiveWaveOutBuffer] определяет длину блока
время = длинна / частоту (вероятно 44,1кгц) Значит в течении этого времени нужно визуализировать звук блока данных WaveOutBuffers[ActiveWaveOutBuffer] Добавлено @ 13:55 Пусть у нас есть экран. 1) нужно выбрать частоту обнавления экрана от этого будет зависить сколько данных мы можем отобразить. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Даллее зная частоту экрана мы вычислим масштаб данных.
за 1 сек 44100 точек в n кадрах значит в одном кадре будут отображаться 44100 / n точек (это если без перекрытия с предыдущим и последующим кадрами) если перекрывать(т.е. отображать данные прошедших и будующих кадров тогда будет создавться илюзия движения), то можно выбрать например 3 * 44100 / n или другое значение большее чем 44100 / n - поскольку это и будет сдвиг по данным от кадра до кадра. Добавлено @ 14:11 Однако все это придется както синхронизировать с воспроизведением. Необходимо узнать момент когда закончилось воспроизведение одного блока и началось воспроизведение другого. Как это узнать я пока не знаю... -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Лихо
![]() Похоже без дополнительного потока здесь ни как не обойтись. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
||||
|
||||
Alexeis |
|
||||||||||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
по очереди выделяет имена файлов
Открывает файл
WaveOutBufferSizes[I] - указывается размер всего блока данных
Записывает данные целиком в один буфер.
отправляет данные целиком Это сообщение отредактировал(а) alexeis1 - 24.3.2006, 12:37 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||||||||
|
|||||||||||
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
||||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
this, я ошибся хотел сказать всего блока данных(всех данных файла)
Кстати разве это не одно и тоже? Если я не прав то что не верно в моей интерпретации? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
Так как все-таки реализовать отображение звука?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Звук, графика и видео" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |