Программирование на 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
-
-
- Сообщения: 4272
- Зарегистрирован: 10.05.2007 (Чт) 16:11
- Откуда: Сетевое сознание
iGrok » 19.12.2009 (Сб) 19:20
Ммм..
А если создать Named Pipe, и подсунуть её bass.dll вместо имени файла?
label:
cli
jmp label
-
DJONY
-
- Начинающий
-
-
- Сообщения: 3
- Зарегистрирован: 19.12.2009 (Сб) 15:54
DJONY » 19.12.2009 (Сб) 20:08
В смысле урл? или что? канал... а как его создать %)
Можно попробовать с двумя массивами данных... набиваешь 1й воспроизводишь пока играет набиваешь 2й, сечешь время и под самый конец суешь второй массив... затем очищаешь 1й и набиваешь его и подконец 2го опять передаешь на воспроизведение....и тд. но уж больно как то сложно все... вот и думаю мб как то попроще можно.
-
iGrok
-
- Артефакт VBStreets
-
-
- Сообщения: 4272
- Зарегистрирован: 10.05.2007 (Чт) 16:11
- Откуда: Сетевое сознание
iGrok » 19.12.2009 (Сб) 22:01
А если хорошенько поискать по словам "named pipe", то ты узнаешь и что это, и как его создать и как им пользоваться.
Другой вопрос - поймёт ли такое bass.dll. Теоретически, должна понять. Ну так кто тебе мешает попробовать?
label:
cli
jmp label
-
DJONY
-
- Начинающий
-
-
- Сообщения: 3
- Зарегистрирован: 19.12.2009 (Сб) 15:54
DJONY » 21.12.2009 (Пн) 19:40
Если я правильно понял то надо BASS.dll прописать в сервере, а через клиент передавать данные на сервер?
-
iGrok
-
- Артефакт VBStreets
-
-
- Сообщения: 4272
- Зарегистрирован: 10.05.2007 (Чт) 16:11
- Откуда: Сетевое сознание
iGrok » 22.12.2009 (Вт) 0:29
Чего? 0_o
Я это понимаю так:
Создаёшь пайп. Запукаешь bass.dll "в режиме потокового воспроизведения", даёшь ей вместо имени файла имя пайпа.
После чего начинаешь скидывать в пайп порции данных.
По сути, это и будет твой "постоянно пополняющийся буфер в оперативке".
З.Ы. Я не пробовал. Даже примерно себе не могу представить, что из этого выйдет. Может, и ничего.
label:
cli
jmp label
-
Хакер
-
- Телепат
-
-
- Сообщения: 16478
- Зарегистрирован: 13.11.2005 (Вс) 2:43
- Откуда: Казахстан, Петропавловск
-
Хакер » 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
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Mail.ru [бот] и гости: 28