Вверх ↑
Ответов: 537
Рейтинг: 14
#1: 2018-03-19 23:13:52 ЛС | профиль | цитата
Netspirit писал(а):

Sersey писал(а):
по моему компонент последней версии
Стандартный компонент SoundBuffer неработоспособный. Обсуждение и исправления - здесь: /topic/49570/1


Спасибо. Скачал, обновил, теперь работает отлично, даже буфер выставил чтобы он на 50% только загружался. Добавил возможность возможность вместе с голосом передавать и текст
Add(BASS_RecordCenter,16463281,455,126)
{
link(onInit,5066922:doStart,[])
}
Add(BASS_RecordStart,5066922,504,126)
{
Freq=32000
Mode=1
Name="MainSound1"
PColor(Freq,16711680)
link(onData,2086814:doEvent1,[])
}
Add(BASS_Init,3141551,119,203)
{
Freq=32000
Flags=2
}
Add(Hub,14800919,413,77)
{
InCount=3
OutCount=5
link(onEvent1,8001289:doOff,[])
link(onEvent2,16463281:doFree,[(441,90)(441,139)])
link(onEvent3,170298:doDestroy,[(462,97)(462,209)])
link(onEvent4,6024477:doDestroy,[(457,104)(457,286)])
link(onEvent5,11315918:doData,[(465,111)(465,76)])
}
Add(LED,8001289,455,70)
{
Left=20
Top=10
Width=45
Height=45
ColorOn=65280
ColorBlick=-16777201
}
Add(Hub,8709484,413,119)
{
InCount=2
OutCount=4
link(onEvent1,8001289:doOn,[(441,125)(441,90)])
link(onEvent2,16463281:doInit,[])
link(onEvent3,7629819:doEvent1,[(439,139)(439,205)(373,205)(373,272)])
link(onEvent4,10246635:doData,[(465,146)(465,69)])
}
Add(Timer,16314832,42,77)
{
Interval=300
link(onTimer,4117836:doReadKey,[])
}
Add(Keyboard,4117836,84,77)
{
Key=18
link(onReadKey,7434817:doData,[])
}
Add(TrayIcon,6064803,294,266)
{
Hint="Твоя рация"
Text="Я теперь тут"
Title="Рация"
Point(doShowBallonTip)
link(onClick,6064803:doShow,[(338,272)(338,260)(282,260)(282,272)])
link(onHide,1229513:doTimer,[(334,286)(334,323)(233,323)(233,293)])
}
Add(Timer,1229513,245,287)
{
Interval=2000
Enable=1
AutoStop=1
link(onTimer,6064803:doShowBallonTip,[])
}
Add(Hub,7399795,91,203)
{
OutCount=3
link(onEvent1,3141551:doInit,[])
link(onEvent2,10697711:doTimer,[(151,216)(151,223)])
link(onEvent3,3324304:In,[(137,223)(137,230)])
}
Add(MainForm,5577601,42,189)
{
Width=654
Height=245
Caption="Рация"
BorderStyle=1
Icon=
TransparentManager="Radio"
link(onCreate,7399795:doEvent1,[])
}
Add(BASS_StreamCreate,14476773,1036,161)
{
Freq=32000
DataType=1
Name="MainSound2"
link(onCreate,10590455:doStart,[])
link(Data,14690913:Stream,[])
}
Add(BASS_ChannelPlay,3047460,1134,161)
{
Channel="MainSound2"
}
Add(SoundBuffer,14690913,1036,119)
{
Size=10000
link(onAdd,8213276:Да или Нет,[])
}
Add(Hub,9411456,777,119)
{
InCount=2
OutCount=3
link(onEvent1,10295078:doOpen,[])
link(onEvent2,8212518:doOpen,[])
link(onEvent3,14476773:doCreate,[(856,139)(856,167)])
}
Add(Label,10515004,805,28)
{
Left=85
Top=15
Width=40
Height=17
Caption="OUT IP"
}
Add(Edit,776316,805,70)
{
Left=85
Top=30
Width=85
Text="127.0.0.1"
Point(PHandle)
}
Add(Thread,10590455,1085,161)
{
Delay=200
FastStop=0
link(onExec,3047460:doPlay,[])
}
Add(TCP_Client,8212518,805,126)
{
Port=152
DataType=3
link(onConnect,6144283:doEvent1,[(849,139)(849,160)(765,160)(765,181)])
link(onDisconnect,7150299:doEvent1,[(849,146)(849,174)(758,174)(758,251)])
link(IP,776316:Text,[])
}
Add(TCP_Server,10295078,861,119)
{
Port=152
DataType=3
link(onRead,2254360:doUnPack,[])
}
Add(VisualStrings,9868958,805,175)
{
Lines=#11:Присоединен|
Point(doText)
Point(onText)
link(onText,1011839:doEvent1,[])
}
Add(VisualStrings,15756427,805,245)
{
Lines=#19:Соединение потеряно|
Point(doText)
Point(onText)
link(onText,1011839:doEvent2,[(842,251)(842,188)])
}
Add(Hub,1011839,847,175)
{
InCount=2
OutCount=1
link(onEvent1,10683371:In,[])
}
Add(LineBreak,9533138,-7,189)
{
Caption="Info"
link(Out,5577601:doCaption,[])
Primary=[10683371,882,-14]
}
Add(Button,10139341,714,91)
{
Left=175
Top=30
Caption="Connect"
link(onClick,9411456:doEvent1,[(762,97)(762,125)])
}
Add(LineBreak,12597222,0,413)
{
Caption="У"
link(Out,7460333:doEvent1,[])
Primary=[3324304,161,-189]
}
Add(ScrollBarEx,13210570,140,413)
{
Left=10
Top=90
Width=15
Height=100
Max=20
Min=-20
Kind=1
link(onPosition,1216000:doEvent1,[])
}
Add(ScrollBarEx,1059074,140,455)
{
Left=50
Top=90
Width=15
Height=100
Max=20
Min=-20
Kind=1
link(onPosition,11101132:doEvent1,[])
}
Add(ScrollBarEx,11174878,140,497)
{
Left=90
Top=90
Width=15
Height=100
Max=20
Min=-20
Kind=1
link(onPosition,10702973:doEvent1,[])
}
Add(Label,4455329,91,364)
{
Top=70
Width=35
Height=12
Caption="60Hz"
}
Add(Label,2113435,133,364)
{
Left=40
Top=70
Width=35
Height=17
Caption="230Hz"
}
Add(Label,14319566,175,364)
{
Left=80
Top=70
Width=35
Height=17
Caption="910Hz"
}
Add(Label,15573584,273,420)
{
Left=10
Top=195
Width=10
Height=17
Caption="0"
}
Add(Label,10691832,273,462)
{
Left=50
Top=195
Width=10
Height=17
Caption="0"
}
Add(Label,14858604,273,504)
{
Left=90
Top=195
Width=10
Height=17
Caption="0"
}
Add(Hub,1216000,189,413)
{
OutCount=3
link(onEvent1,2391673:doSet,[])
link(onEvent2,15573584:doText,[])
link(onEvent3,13571962:doWrite,[(215,433)(215,429)(79,429)(79,426)])
}
Add(Hub,11101132,189,455)
{
OutCount=3
link(onEvent1,6569206:doSet,[])
link(onEvent2,10691832:doText,[])
link(onEvent3,14826394:doWrite,[(215,475)(215,471)(79,471)(79,468)])
}
Add(Hub,10702973,189,497)
{
OutCount=3
link(onEvent1,9470030:doSet,[])
link(onEvent2,14858604:doText,[])
link(onEvent3,8909197:doWrite,[(215,517)(215,513)(79,513)(79,510)])
}
Add(BASS_ChannelFX_Eq,2391673,224,413)
{
Channel="MainSound1"
Center=125
Bandwidth=16
}
Add(BASS_ChannelFX_Eq,6569206,224,455)
{
Channel="MainSound1"
Center=230
Bandwidth=16
}
Add(BASS_ChannelFX_Eq,9470030,224,497)
{
Channel="MainSound1"
Center=910
Bandwidth=16
}
Add(Ini,13571962,91,413)
{
FileName="Setting.ini"
Section="equalizer"
Key="60Hz"
link(onResult,13210570:doPosition,[])
}
Add(Ini,14826394,91,455)
{
FileName="Setting.ini"
Section="equalizer"
Key="230Hz"
link(onResult,1059074:doPosition,[])
}
Add(Ini,8909197,91,497)
{
FileName="Setting.ini"
Section="equalizer"
Key="910Hz"
link(onResult,11174878:doPosition,[])
}
Add(Hub,7460333,42,413)
{
OutCount=5
link(onEvent1,13571962:doRead,[])
link(onEvent2,14826394:doRead,[(66,426)(66,461)])
link(onEvent3,8909197:doRead,[(66,433)(66,503)])
link(onEvent4,10583354:doRead,[(74,440)(74,545)])
link(onEvent5,14843409:doRead,[(74,447)(74,587)])
}
Add(ScrollBarEx,2499963,140,539)
{
Left=130
Top=90
Width=15
Height=100
Max=20
Min=-20
Kind=1
link(onPosition,11062355:doEvent1,[])
}
Add(ScrollBarEx,8552181,140,581)
{
Left=170
Top=90
Width=15
Height=100
Max=20
Min=-20
Kind=1
link(onPosition,3569373:doEvent1,[])
}
Add(Label,11244811,273,546)
{
Left=125
Top=195
Width=10
Height=17
Caption="0"
}
Add(Label,9864447,273,588)
{
Left=165
Top=195
Width=10
Height=17
Caption="0"
}
Add(Hub,11062355,189,539)
{
OutCount=3
link(onEvent1,2078977:doSet,[])
link(onEvent2,11244811:doText,[])
link(onEvent3,10583354:doWrite,[(215,559)(215,555)(79,555)(79,552)])
}
Add(Hub,3569373,189,581)
{
OutCount=3
link(onEvent1,7763709:doSet,[])
link(onEvent2,9864447:doText,[])
link(onEvent3,14843409:doWrite,[(215,601)(215,597)(79,597)(79,594)])
}
Add(BASS_ChannelFX_Eq,2078977,224,539)
{
Channel="MainSound1"
Center=3000
Bandwidth=16
}
Add(BASS_ChannelFX_Eq,7763709,224,581)
{
Channel="MainSound1"
Center=14000
Bandwidth=16
}
Add(Ini,10583354,91,539)
{
FileName="Setting.ini"
Section="equalizer"
Key="3kHz"
link(onResult,2499963:doPosition,[])
}
Add(Ini,14843409,91,581)
{
FileName="Setting.ini"
Section="equalizer"
Key="14kHz"
link(onResult,8552181:doPosition,[])
}
Add(Label,11631221,217,364)
{
Left=120
Top=70
Width=35
Height=17
Caption="3kHz"
}
Add(Label,594285,259,364)
{
Left=160
Top=70
Width=35
Height=17
Caption="14kHz"
}
Add(Hub,7150299,770,245)
{
link(onEvent1,15756427:doText,[])
}
Add(LineBreak,4381951,714,126)
{
Caption="Старт"
link(Out,9411456:doEvent2,[])
Primary=[3614874,-371,91]
}
Add(Hub,6144283,777,175)
{
link(onEvent1,9868958:doText,[])
}
Add(Timer,10697711,196,217)
{
Enable=1
AutoStop=1
}
Add(Hub,8256484,245,217)
{
link(onEvent1,9424650:doTimer,[])
link(onEvent2,6064803:doHide,[(277,230)(277,279)])
}
Add(BaloonToolTips,6024477,497,273)
{
Title="Нажмите Connect"
Icon=3
link(Text,9963044:Text,[])
}
Add(VisualStrings,9963044,504,245)
{
Lines=#15:Нет подключения|
}
Add(Hub,13997310,462,273)
{
link(onEvent1,6024477:doCreate,[])
link(onEvent2,6024477:doShow,[(486,286)(486,293)])
}
Add(Timer,9424650,294,217)
{
Interval=24000
Enable=1
AutoStop=1
link(onTimer,3614874:In,[])
}
Add(If_else,16025618,413,266)
{
Type=1
Op1=Integer(0)
link(onTrue,5847601:doEvent1,[(453,272)(453,202)])
link(onFalse,13997310:doEvent1,[])
link(Op2,8212518:Active,[(426,222)(811,222)])
}
Add(VisualStrings,10598836,1351,77)
{
Lines=#14:Слушайте рацию|
}
Add(Timer,36137,1260,133)
{
Interval=3000
Enable=1
AutoStop=10
link(onTimer,14808169:doEvent1,[])
}
Add(Hub,15747069,1225,105)
{
OutCount=4
link(onEvent1,8213276:0 Нет,[(1251,111)(1251,115)(1164,115)(1164,118)])
link(onEvent2,9075856:doCreate,[])
link(onEvent3,9075856:doShow,[(1291,125)(1291,132)])
link(onEvent4,36137:doTimer,[(1249,132)(1249,139)])
}
Add(BaloonToolTips,9075856,1344,112)
{
Title="Привет"
Icon=1
Mode=1
link(Text,10598836:Text,[])
}
Add(MultiElementEx,8213276,1176,105)
{
@Hint=#4:Стоп|
link(Выход Да,15747069:doEvent1,[])
AddHint(-5,-28,39,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,11945647,21,21)
{
WorkCount=#21:1 Да=Пропускать далее|18:0 Нет=Непропускать|10:Да или Нет|
EventCount=#8:Выход Да|
Width=83
Height=88
VOffset=7
link(1 Да,2005174:doOn,[(35,34)(35,41)])
link(0 Нет,2005174:doReset,[(35,41)(35,34)])
link(Да или Нет,3073415:doEvent,[(35,48)(35,76)])
}
Add(IndexToChanel,3073415,49,70)
{
Point(Index)
link(onEvent2,11945647:Выход Да,[(93,83)(93,34)])
link(Index,2005174:State,[])
}
Add(Switch,2005174,49,21)
{
DataOn=Integer(1)
DataOff=Integer(0)
Default=0
Point(State)
Point(doOn)
}
END_SDK
Add(Hub,14808169,1302,133)
{
link(onEvent1,9075856:doDestroy,[(1330,139)(1330,125)])
link(onEvent2,8213276:1 Да,[(1325,146)(1325,160)(1164,160)(1164,111)])
}
Add(CheckBox,9583508,42,28)
{
Left=250
Top=30
Width=95
Caption="Беседа"
link(onCheck,12374251:doEvent,[])
}
Add(IndexToChanel,12374251,84,28)
{
link(onEvent1,11724550:doEvent1,[(121,34)(121,20)])
link(onEvent2,13246302:doEvent1,[])
}
Add(StreamPack,7004420,602,140)
{
DataCount=#4:text|5:audio|
link(onPack,8212518:doSend,[])
link(text,11223776:Text,[])
link(audio,8079899:GetData,[])
}
Add(StreamUnPack,2254360,931,119)
{
DataCount=#4:text|5:audio|
link(onUnPack,1114644:doEvent1,[])
}
Add(DoData,44529,938,175)
{
link(onEventData,14690913:doAdd,[(1021,181)(1021,125)])
link(Data,2254360:audio,[])
}
Add(DoData,11122130,931,217)
{
link(onEventData,16684082:doData,[])
link(Data,2254360:text,[])
}
Add(Hub,1114644,980,119)
{
link(onEvent1,44529:doData,[(1005,125)(1005,161)(926,161)(926,181)])
link(onEvent2,11122130:doData,[(1006,132)(1006,178)(919,178)(919,223)])
}
Add(EventFromData,8079899,609,98)
{
}
Add(Hub,2086814,560,133)
{
InCount=2
link(onEvent1,8079899:doData,[(592,139)(592,104)])
link(onEvent2,7004420:doPack,[])
}
Add(Label,266771,1036,273)
{
Left=380
Top=5
Width=97
Height=17
Caption="Полученный текст"
}
Add(Label,1578670,602,7)
{
Left=380
Top=170
Width=84
Height=17
Caption="Написать ответ"
}
Add(Memo,1730408,1036,217)
{
Left=380
Top=25
Width=260
Height=140
Color=-16777192
Font=[MS Sans Serif,10,0,0,1]
AddType=1
ScrollBars=2
ReadOnly=0
link(onChange,12406178:doEvent1,[])
}
Add(Edit,11223776,602,49)
{
Left=380
Top=190
Width=260
Color=-16777192
Text=""
Point(doEnabled)
link(onEnter,13590601:doEvent1,[])
}
Add(VisualStrings,5721163,1358,203)
{
Lines=#20:Вам пришло сообщение|
}
Add(Timer,4970029,1267,259)
{
Interval=3000
Enable=1
AutoStop=10
link(onTimer,15296910:doEvent1,[])
}
Add(Hub,14996204,1232,231)
{
OutCount=4
link(onEvent2,7637835:doCreate,[])
link(onEvent3,7637835:doShow,[(1298,251)(1298,258)])
link(onEvent4,4970029:doTimer,[(1256,258)(1256,265)])
}
Add(BaloonToolTips,7637835,1351,238)
{
Title="Тук-Тук"
Icon=1
Mode=1
link(Text,5721163:Text,[])
}
Add(Hub,15296910,1309,259)
{
link(onEvent1,7637835:doDestroy,[(1337,265)(1337,251)])
}
Add(Hub,13590601,651,56)
{
OutCount=3
link(onEvent1,2086814:doEvent2,[(677,62)(677,104)(548,104)(548,146)])
link(onEvent2,7629819:doEvent2,[(685,69)(685,308)(374,308)(374,279)])
link(onEvent3,8409222:doTimer,[(697,76)(697,35)(359,35)(359,97)])
}
Add(Hub,7629819,385,266)
{
InCount=2
OutCount=1
link(onEvent1,16025618:doCompare,[])
}
Add(Hub,12406178,1078,217)
{
link(onEvent1,14996204:doEvent1,[(1162,223)(1162,237)])
}
Add(Timer,8409222,371,91)
{
Interval=2000
Enable=1
AutoStop=1
link(onTimer,14800919:doEvent3,[])
}
Add(Hub,9889609,574,63)
{
InCount=2
OutCount=1
link(onEvent1,11223776:doEnabled,[])
}
Add(DoData,10246635,504,63)
{
Data=Integer(0)
link(onEventData,9889609:doEvent1,[])
}
Add(DoData,11315918,504,70)
{
Data=Integer(1)
link(onEventData,9889609:doEvent2,[])
}
Add(IndexToChanel,4615446,168,77)
{
link(onEvent1,14800919:doEvent1,[])
link(onEvent2,8709484:doEvent1,[(306,90)(306,125)])
}
Add(ChangeMon,7434817,126,77)
{
link(onData,4615446:doEvent,[])
}
Add(ChangeMon,16684082,973,217)
{
link(onData,1730408:doAdd,[])
}
Add(Hub,11724550,126,14)
{
link(onEvent1,16314832:doTimer,[(152,20)(152,52)(30,52)(30,83)])
link(onEvent2,14800919:doEvent2,[(276,27)(276,90)])
}
Add(Hub,13246302,126,35)
{
link(onEvent1,16314832:doStop,[(152,41)(152,65)(30,65)(30,90)])
link(onEvent2,8709484:doEvent2,[(276,48)(276,132)])
}
Add(BaloonToolTips,170298,497,196)
{
Title="Говорите"
Icon=1
Mode=1
link(Text,9176619:Text,[])
}
Add(VisualStrings,9176619,504,168)
{
Lines=#13:Идет передача|
}
Add(Hub,5847601,462,196)
{
link(onEvent1,170298:doCreate,[])
link(onEvent2,170298:doShow,[(486,209)(486,216)])
}

До ночи делал, остались непонятные сбои. Если сначала нажать на правый альт и поговорить, то все нормально, а если потом отправить сообщение и опять поговорить, то скрипы какие то слышно. И блин как избавится от подсказки о "Вам пришло сообщение" когда первый раз нажимаешь кнопку говорить. Одну ошибку исправил с SoundBuffer, поставил остановку таймера во время включения галочки "Беседа" если галочка стоит и нажать кнопку Говорить, то буфер улетает и куча сообщений об ошибках. И еще если то говорить, то текст писать, бывает звук вообще пропадает и прога виснет.
Посмотрите схему и подскажите что исправить, ведь полезная прога получается, выложил для всех, хотелось бы доделать. Прогу делаю не для продажи, а чисто для себя. Помогите доделать
Схему выложил без украс, иконок, звуков и приколов чтобы влезла

Посмотрите всего лишь момент когда приходит текстовое сообщение и дальше, если отключить связь, то все отлично, думаю нужно там копать, только я ничего не придумал. Там стоит элемент ChangeMon, без вообще не работает схема, данные со звуком и текстом приходят одновременно в не зависимости есть ли текст или нет, так как отфильтровать пустые сигналы? И есть блок под названием "Стоп" без него не исчезает подсказка, а так все остальное наверно нормально. Посмотрите этот маленький кусочек, что там в микросхемах коротит. Сделаем это и продолжим.
карма: 4

0
Редактировалось 6 раз(а), последний 2018-03-20 03:39:00