![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| GuManOiD |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 12.9.2005 Репутация: нет Всего: нет |
В общем, есть WAV файл в памяти, нужно написать простейший плеер, выполняющий воспроизведение, остановку, смену позиции в треке (TrackBar в общем
PlaySound, ясень пень, не подходит так как нельзя сделать "перемотку" Посоветуйте как это реализовать, просто нужна информация с чего начать поиски. Критерии: минимум временных затрат |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
GuManOiD, Есть набор функций WaveOut*** и mmio***, при помощи которых можно это сделать. Я бы помог, но сейчас не успеваю
http://vingrad.ru/DELPHI-DLP-001516 http://vingrad.ru/DELPHI-DLP-001515 там еще есть пару тем, которые можно почитать. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| GuManOiD |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 12.9.2005 Репутация: нет Всего: нет |
||||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Быть такого не может. Во всяком случае позицию в текущем буфере определить можно. Добавлено @ 17:37
Это сообщение отредактировал(а) Alexeis - 25.1.2007, 17:37 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| GuManOiD |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 12.9.2005 Репутация: нет Всего: нет |
Ну так, мне нужно ее изменять
Проблема в том, что когда некая последовательность байт загружена в MemoryStream, она еще не представляет собой WAV файл, а только после некоторых модификаций, она принимает форму WAVE (это я и имел ввиду под WAV в памяти), и мне нужно проиграть (в том числе + возможность "перемотки") результат модификаций. Но я не смог найти ничего кроме PlaySound, что бы проиграть WAV из памяти. Если это единственная возможность реализовать задумку, то существует ли способ как то вытащить из PlaySound DeviceID для дальнейших манипуляций MCI Добавлено @ 18:05 Или компонент чтоль какой посоветуйте, главная фишка чтоб из памяти воспроизводил и "перемотка" была |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
GuManOiD, так в чем проблема? Нужно остановить текущее проигрывание и переместить указатель на аудио данные в новую позицию в буфере и передать этот буфер на проигрывание.
Добавлено @ 18:22
Попробуй на torry.net там я точно находил нечто похожее, но не факт что было из памяти (возможно прийдется доработать чуток) -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| GuManOiD |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 12.9.2005 Репутация: нет Всего: нет |
||||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
GuManOiD, вообще современные программы, такие как винамп, никогда не загружают в буфер весь трек, так как это довольно долго. Они загружают фрагментами по 20-50кб. Во первых нет большой разовой нагрузки ни на проц ни не винт, во вторых чтение с диска таким буфером просто наиболее быстрое. Если не заморачиваться, то можно даже не играться с указателем в буфере и его перемещением, а просто работать с дискретностью 20-50кб. Это совсем небольшой фрагмент и тогда перемещение будет представлять всего навсего подстановку такого буфера в устройство (нужно только определить где будет начинаться блок аудио данных, который нужно передать)
Эх если успею... -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| GuManOiD |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 12.9.2005 Репутация: нет Всего: нет |
Я немного не понял принципа работы WaveOut...., на данный момент разобрался, начал творить
Alexeis, респект, с примером не напрягайся, ты и так очень помог После сотни в репу получишь именно ты |
|||
|
||||
![]()
|
| Правила форума "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. |