Воспроизведение потока (звуковых) данных

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
DJONY
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 19.12.2009 (Сб) 15:54

Воспроизведение потока (звуковых) данных

Сообщение DJONY » 19.12.2009 (Сб) 16:31

Всем привет!

Подскажите как воспроизвести поток (звуковых) данных. Данные поступают из COM порта.

Пробовал применить BASS.dll но у нее только в режиме потокового воспроизведения либо связь с URL или с файлом на диске в которых она сама читает фрагменты и выводит их на звуковой драйвер. Как ее заставить читать кусочки из постоянно пополняющегося буффера в оперативке ума не приложу....

Пробовал и с winmm.dll звук воспроизводил как WAV файл искуственно формировал заголовок потом склеивал его с буффером и отправлял на воспрпоизведение... Все бы ниче но приходится отправлять маленькими кусочками а между ними разумеется появляются тишина пока данные будут обработаны библиотекой....


За все дельные советы заранее благодарен!

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Воспроизведение потока (звуковых) данных

Сообщение iGrok » 19.12.2009 (Сб) 19:20

Ммм..
А если создать Named Pipe, и подсунуть её bass.dll вместо имени файла?
label:
cli
jmp label

DJONY
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 19.12.2009 (Сб) 15:54

Re: Воспроизведение потока (звуковых) данных

Сообщение DJONY » 19.12.2009 (Сб) 20:08

В смысле урл? или что? канал... а как его создать %)

Можно попробовать с двумя массивами данных... набиваешь 1й воспроизводишь пока играет набиваешь 2й, сечешь время и под самый конец суешь второй массив... затем очищаешь 1й и набиваешь его и подконец 2го опять передаешь на воспроизведение....и тд. но уж больно как то сложно все... вот и думаю мб как то попроще можно.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Воспроизведение потока (звуковых) данных

Сообщение iGrok » 19.12.2009 (Сб) 22:01

А если хорошенько поискать по словам "named pipe", то ты узнаешь и что это, и как его создать и как им пользоваться.
Другой вопрос - поймёт ли такое bass.dll. Теоретически, должна понять. Ну так кто тебе мешает попробовать?
label:
cli
jmp label

DJONY
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 19.12.2009 (Сб) 15:54

Re: Воспроизведение потока (звуковых) данных

Сообщение DJONY » 21.12.2009 (Пн) 19:40

Если я правильно понял то надо BASS.dll прописать в сервере, а через клиент передавать данные на сервер?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Воспроизведение потока (звуковых) данных

Сообщение iGrok » 22.12.2009 (Вт) 0:29

Чего? 0_o

Я это понимаю так:

Создаёшь пайп. Запукаешь bass.dll "в режиме потокового воспроизведения", даёшь ей вместо имени файла имя пайпа.
После чего начинаешь скидывать в пайп порции данных.

По сути, это и будет твой "постоянно пополняющийся буфер в оперативке".

З.Ы. Я не пробовал. Даже примерно себе не могу представить, что из этого выйдет. Может, и ничего.
label:
cli
jmp label

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Воспроизведение потока (звуковых) данных

Сообщение Хакер » 22.12.2009 (Вт) 0:58

Я думаю у автора надуманная проблема.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 70

    TopList