· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Направление потока аудио-файла в LPT-порт

Посл.отвђт Сообщенiе


Дата: Ноя 9, 2004 13:00:11

Ребят, такая проблема. Помогите, пожалуйста, любыми советами или дайте ссылки на нужную литературу!

В общем, есть WAV-файл, который я подгружаю в прогу на Делфях.
1-й вопрос: Как выхватить понравившийся кусок и затем его воспроизвести?
2-й вопрос: Как направить этот кусок файла в LPT-порт для записи на цифровое устройство, которое к нему подключено?

Заранее благодарен всем высказавшимся по этому поводу!


Дата: Ноя 10, 2004 02:16:07

Выхватить кусок элементарно. Загрузить оглавление файла в память, узнать его формат. А далее, зная время начала куска и его конца, находим адрес куска в файле и читаем. Далее используем функции WaveOut*** и всё ништяк. Описаний формата WAVE в инете тысячи. Главное, проверять, чтобы в файле не применялся никакой способ сжатия. А то ещё придётся распаковкой заниматься.

Решение второго вопроса зависит от устройства. Кстати, скорости порта может запросто не хватить.


Дата: Ноя 10, 2004 13:34:42

Foamplast, а ты можешь поподробней о загрузке оглавления файла в память и какие/как функции WaveOut*** использовать для выхватывания фрагмента?
И, вообще, я правильно понимаю, что пусть WAV-файл будет даже сжат, но мне-то нужно в LPT посылать побайтово выхваченный кусок аудиопотока. А он, как я понимаю, будет в памяти уже в распакованном виде? И тогда возникает попутный вопрос: Как узнать адрес куска в памяти, чтобы начать его пересылать в порт?
Только ли распакованный WAV можно записывать на цифровое устройство, в моем случае подключенное к LPT-порту?

Пожалуйста, помогите понять эту шнягу! Я в программировании звука не очень разбираюсь, поэтому собственно и задаю такие вопросы.


Дата: Ноя 11, 2004 14:54:28

_vovan_
„Только ли распакованный WAV можно записывать на цифровое устройство“
Так это от устройства зависит.
„Я в программировании звука не очень разбираюсь, поэтому собственно и задаю такие вопросы.“
И ты надеешься, что за одно сообщение,
тебя сразу научат :-) Даже Си минимально
учат "за 21 день", а звук + устройства -
это вообще надолго. А вот если бы ты изучал
стандартные программы Виндов, то без всяких
Дельфей смог бы вырезать кусок звукового файла
и записать его :-) sndrec32 называется.


Дата: Ноя 11, 2004 18:39:20

valterg'уСлушай, мне не нужны стандартные проги Винды. Мне нужно запрограмить! А насчет того, что быстро не научусь - не переживай, это мое дело.

Ты бы лучше дельным советом помог!!!


Дата: Ноя 12, 2004 12:25:03

_vovan_
„В общем, есть WAV-файл, который я подгружаю в прогу на Делфях. “
Тогда уточни, что ты понимаешь под
словом "подгружаю" ?!
А по Дельфи есть отличный ресурс для
начинающих и не только : torry.net
Правда там на английском,
но ребята в основном русские :-)


Дата: Ноя 12, 2004 15:18:29

valterg

То есть открываю его с помощью стандартного VCL-компонента Delphi - TMediaPlayer.


Дата: Ноя 13, 2004 09:41:28

_vovan_
„То есть открываю его с помощью стандартного VCL-компонента Delphi - TMediaPlayer.“
„Мне нужно запрограмить! “
Тогда два варианта : либо найти готовый
компонент, в котором нужные функции реализованы
( вырезание куска) и "запрограммить" их
на "кнопочки", либо разбираться с "механикой"
компонента и дописывать свои функции через
механизм подклассов(subclass). Я в этом деле
больше теоретик и вряд ли могу помочь.
Поэтому лучше сходить на специализированные
форумы по Дельфи и там поспрашивать : скорее
всего все функции есть и в твоем компоненте,
только ты либо не знаешь про них, либо не
умеешь пользоваться. В Visual Basic я обычно
шел в help и смотрел список свойств и методов
об"екта и довольно часто находил то, что нужно.
На torry.net есть проекты со свободными текстами :
например я оттуда взял пакет для работы с COM-портом
и на его основе сделал прогу для модема.
А если хочешь чтобы здесь ответили, так формулируй
вопрос конкретнее, здесь ведь wasm и все
"очень просто программируется" :-)


Дата: Ноя 15, 2004 12:10:39

Ладно, допустим я выхватил кусок звукового файла и этот кусок у меня находится в буфере. Теперь надо переслать данные из этого буфера на устройство в LPT.

У меня такой вопрос: из драйвера тупо писать в порт с помощью OUT или нужно делать фильтр LPT?


Дата: Ноя 15, 2004 20:56:50

_vovan_
„допустим я выхватил кусок звукового файла “
Неупакованный WAV, насколько я знаю,
содержит просто амплитуды сигнала. Но - он
бывает 8-битный(старые) и 16-битный (новые).
Может быть запакованный, тогда без
фильтра не обойтись, но мне кажется, что
компонента уже должна его распаковать.
Если твое устройство пишет аналоговый
сигнал, тогда нужен ЦАП( цифро-аналоговый
преобразователь), если в цифре, то все
равно нужно согласовать сигналы.
Кроме того, передача по LPT требует
синхронизации в обе стороны.
А что ты имеешь ввиду под фильтром ?!
+++++++++++++++++++++++++++++++++++
А вообще-то для этого дела гораздо
лучше подходит звуковая карта -
у нее уже есть аналоговый выход.
С цифрой, наверное, сложнее, но ведь
веревка к СиДи - цифровая ?! Или я не прав.


Дата: Ноя 16, 2004 17:00:02

valterg
"А что ты имеешь ввиду под фильтром ?!"

Под фильтром я имею ввиду драйвер-фильтр LPT-порта.
И спрашиваю, использовать ли в обычном одноуровневом драйвере IN и OUT либо создавать PnP драйвер и цеплять его к стеку драйверов(устройств) LPT ???

А насчет использования звуковой карты - отпадает, мое устройство подсоединяется к LPT и принимает звук в цифровом формате.


Дата: Ноя 17, 2004 12:05:57

„устройство подсоединяется к LPT и принимает звук в цифровом формате.“

Может для тебя эта фраза и имеет смысл, но
для меня - в ней 0 информации. Цифровые устройства
(стандартные)напрямую к LPT не подсоединяются. Там формат и интерфейс другие. Что касается работы с LPT :
я разбирался тут с тем, как работать с портами
SVGA и с удивлением обнаружил, что фри-драйвер
porttalk прекрасно с этим справляется и ни с чем
не конфликтует в ВИН2000. Если ты не собираешься
паралельно с записью звука печатать на принтер
( я видел такие сканеры например...),
то по-моему porttalk - лучший выбор,
хотя вопрос синхронизации остается.
+++++++++++++++++++++++++++++++++
Не надо вводить людей в заблуждение
красивыми словами. Напиши : есть самодельное
устройство или самодельный интерфейс
под порт LPT. Тогда тебе ответят.
И лучше тогда перейти в тему Electronics.
Win32 подразумевает соблюдение стандартов
и covox к ним не относится.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.081