Страница: 1 | 2 |
Вопрос: Передача звука по сети в REALTIME
Добавлено: 06.02.05 20:05
Автор вопроса: RomaVis | ICQ: 266287351
Вот попросили меня сделать такую вещь - голосовой чат для локалки в реал-тайме.
Тоесть надо, чтобы то что ты счас говоришь по микрофону было сразу слышно на другой стороне! Помогите плиз - друзья всё таки просят!
P.S.
Проблема трафика меня не интересует!
Ответы
Всего ответов: 23
Номер ответа: 1
Автор ответа:
RomaVis
ICQ: 266287351
Вопросов: 31
Ответов: 147
Профиль | | #1
Добавлено: 06.02.05 20:09
Кстати, если кто-то не понял чего я хочу - можете спросить, а если вообще непонятно можете посмотреть прогу p2p Volp Beta или синоним Rave 2
Номер ответа: 2
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #2
Добавлено: 06.02.05 20:41
О руль! давай вместе чат писать! Я тоже когда то спрашивал про этот микрофон по сети, так мне нечго и не сказали... У мя есть примерчик Записи и воиспроизведения...
Sub CloseSound()
 im Result&
 im errormsg%
 im ReturnString As String * 1024
 im ErrorString As String * 1024
Result& = mciSendString("close mysound", ReturnString, 1024, 0)
End Sub
Sub RecordSound()
'записать звук с микрофона (6 сек.)
 im Result&
 im errormsg%
 im ReturnString As String * 1024
 im ErrorString As String * 1024
CloseSound
Result& = mciSendString("open new type waveaudio alias mysound", ReturnString, 1024, 0)
If Not Result& = 0 Then
errormsg% = mciGetErrorString(Result&, ErrorString, 1024)
MsgBox ErrorString, 0, "Error"
Exit Sub
End If
Result& = mciSendString("set mysound time format ms bitspersample 8 samplespersec 11025", ReturnString, 1024, 0)
If Not Result& = 0 Then
errormsg% = mciGetErrorString(Result&, ErrorString, 1024)
MsgBox ErrorString, 0, "Error"
Exit Sub
End If
Result& = mciSendString("record mysound to 60000", ReturnString, 1024, 0)
fh = FreeFile(0)
Open "C:\1.wav" For Binary Access Write As fh
Put fh, , ReturnString
Close fh
If Not Result& = 0 Then
errormsg% = mciGetErrorString(Result&, ErrorString, 1024)
MsgBox ErrorString, 0, "Error"
Exit Sub
End If
End Sub
Sub PlayRecSound()
 im Result&
 im errormsg%
 im ReturnString As String * 1024
 im ErrorString As String * 1024
Result& = mciSendString("stop mysound", ReturnString, 1024, 0)
If Not Result& = 0 Then
errormsg% = mciGetErrorString(Result&, ErrorString, 1024)
MsgBox ErrorString, 0, "Error"
End If
Result& = mciSendString("play mysound from 1 wait", ReturnString, 1024, 0)
If Not Result& = 0 Then
errormsg% = mciGetErrorString(Result&, ErrorString, 1024)
MsgBox ErrorString, 0, "Error"
End If
End Sub
Private Sub Command1_Click()
RecordSound
End Sub
Private Sub Command2_Click()
Call PlayRecSound
End Sub
Private Sub Form_Unload(Cancel As Integer)
CloseSound
End Sub
-------------------
модуль
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Declare Function mciGetErrorString Lib "winmm.dll" Alias "mciGetErrorStringA" (ByVal dwError As Long, ByVal lpstrBuffer As String, ByVal uLength As Long) As Long
------------------
вопрос к хорошо знающим айпи
mciSendString какие ещё у неё есть команды?
"play mysound from 1 wait"
"open new type waveaudio alias mysound" итп... ???
Номер ответа: 3
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 06.02.05 21:13
BattleCom, Skype, VoiceChat, таких много. Хотя если очень хочется...
Номер ответа: 4
Автор ответа:
Surok
Вопросов: 36
Ответов: 106
Профиль | | #4
Добавлено: 07.02.05 16:10
А я не пишу голосовой чат, но мне позарез нужен примерчик по данной теме.
Номер ответа: 5
Автор ответа:
RomaVis
ICQ: 266287351
Вопросов: 31
Ответов: 147
Профиль | | #5
Добавлено: 07.02.05 20:24
да ужь
To HACKER:
Давай, кстати, примерчик хороший очень! я уже поимел идею! Вот -
Если взять и каждую милисекунду записувать звук с микрофона, и отсылать по сетке сразу же. Но это тока для скоростных сетей
Номер ответа: 6
Автор ответа:
RomaVis
ICQ: 266287351
Вопросов: 31
Ответов: 147
Профиль | | #6
Добавлено: 07.02.05 20:32
Где то был пример измерения частоты в РЕАЛТАЙМЕ с микрофона, и сразу воспроизведения
Номер ответа: 7
Автор ответа:
RomaVis
ICQ: 266287351
Вопросов: 31
Ответов: 147
Профиль | | #7
Добавлено: 08.02.05 09:26
to HACKER:
ОЙ не. Пример да Пишет и воспроизводит, только в ReturnString нечего нету! ОНа после записи или воспроизведения ПУСТА. Естественно файл тоже пуст...
Номер ответа: 8
Автор ответа:
RomaVis
ICQ: 266287351
Вопросов: 31
Ответов: 147
Профиль | | #8
Добавлено: 08.02.05 09:33
To Все, кто хорошо знает команды API mciSendString:
Что означает в команде play mysound from 1 wait параметр from 1 wait ??? задержку или что?
Номер ответа: 9
Автор ответа:
RomaVis
ICQ: 266287351
Вопросов: 31
Ответов: 147
Профиль | | #9
Добавлено: 08.02.05 09:37
О! Вспомнил! p2p Volp Beta поставляется с исходным кодом на Visual C ! Кто то может перевести этот код под VB???? Или таких нет?
Номер ответа: 10
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #10
Добавлено: 08.02.05 12:13
Чуваки - напишите и на neco777[at]rambler.ru. Он тоже это пишет. Может
вы с ним вместе и напишите.
Номер ответа: 11
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #11
Добавлено: 08.02.05 16:14
Counter-Strike 1.6 хоть и с задержкой, но посылает нормальную речь через Inet (45.2 kb/s)
Я думаю, нужно, чтоб прога скапливала каждые полсекунды все звуки, ловимые микрофоном, и когда звуков становиться на секунду, то отсылала первые полсекунды. Получиться реально, но с задержкой в пол секунды.
Номер ответа: 12
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #12
Добавлено: 08.02.05 16:14
Counter-Strike 1.6 хоть и с задержкой, но посылает нормальную речь через Inet (45.2 kb/s)
Я думаю, нужно, чтоб прога скапливала каждые полсекунды все звуки, ловимые микрофоном, и когда звуков становиться на секунду, то отсылала первые полсекунды. Получиться реально, но с задержкой в пол секунды.
Номер ответа: 13
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #13
Добавлено: 08.02.05 16:14
Counter-Strike 1.6 хоть и с задержкой, но посылает нормальную речь через Inet (45.2 kb/s)
Я думаю, нужно, чтоб прога скапливала каждые полсекунды все звуки, ловимые микрофоном, и когда звуков становиться на секунду, то отсылала первые полсекунды. Получиться реально, но с задержкой в пол секунды.
Номер ответа: 14
Автор ответа:
DaSharm
ICQ: 780477
Вопросов: 72
Ответов: 1297
Web-сайт:
Профиль | | #14
Добавлено: 08.02.05 16:30
>Давай, кстати, примерчик хороший очень!
Ха-ха-ха, лол.
Проблема всего общества ВБ программеров рунета в том, что среди нас очень много ламеров. Что ничего не умеют кроме как сохранить в файл и передать...я фигею, а чё самому лень АПИшки изучать? Что мешает поднятся на порядок выше сделав реальную передачу голоса с использованием mmIO API и Winsock API??? Ламерство, именно. Дорогие ВБ "программеры", хватит думать жопой! Не юзайте до бесконечности! Творите что-то новое и сложное, только тогда ваш труд будет нужен другим и высоко оценен, а со временем и оплачен.
Номер ответа: 15
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #15
Добавлено: 08.02.05 17:26
О как!
Кто в состоянии это понять, тому и говорить не надо. А кому не дано - просто обидится.