Вверх ↑
Ответов: 209
Рейтинг: 1
#1: 2015-01-31 13:27:24 ЛС | профиль | цитата
заметил еще одну особенность после которой проги валятся. на падающую прогу (второй комп) приходит звуковой щелчок от нормально работающей стороны, потом это щелчок слышно на первой (стабильной) машине , и сразу после этого второй комп валится...
такие дела...

flint2 писал(а):
Вся беда в том, что ты горный поток через onEvent точки пытаешься засунуть.

flint2 писал(а):
Посмотри как сделаны мультимедиа компоненты.

flint2 писал(а):
Там разве где нибудь поток наружу выходит?


за основу были и взяты стандартные примеры
хм-хм-хм...

code_35014.txt

flint2 писал(а):
Тебе нужны сетевые компоненты, такие, чтобы поток в них по имени передавался.


это как?
такой вариант?
code_35019.txt

flint2 писал(а):
Каждый следующий кадр формируется только поле того, как прошел предыдущий! И никаких таймеров для этих целей.


да. это сперва я делал. вроде такая же песня выходит
реализация была такая - картинка уходила, приходя к клиенту обрабатывалась и клиент слал свою..и такая схема обеспечивала цикличность...
вариант как на одной только стороне отследить полную отправку второму я увы не нашел...
вариант пихания потока без его слежения прокатывает с картинкой без ошибок...а вот звук тут ты прав на 100% ... но как отследить ХЗ... если только не ставить второй сервер через который сообщать об успешном приходе звука (на существующий сервер звука обратную отсылку не поставить ибо он в stream это не делает, только в стринг). Хотя если конвертером попробовать и слать звук в стринге то обратное информирование о доставке через сервер теоретический можно сделать.... Но тут вырисовывается огромный минус...Как показала практика с картинкой - интервал увеличивается в двое... т.е звук может стать в отставание на секунды 2 запросто... а это уже не по феншую

flint2 писал(а):
Я бы MPEGом жал, а не ZIP, меняя качество от изменеий ширины канала. Тоже - Классика жанра.


мысль.
но важнее со звуком разобраться сейчас чтобы потом уже к картинке придти...

но подкинул подумать ты мне прилично

попробую пока звуковой с информированием о доставке сделать...
------------ Дoбавленo в 12.20:
блин. вспомнил почему в стринге звук не слал. обратное информирование делать смысла то нет. bass стрим постоянно в порт долбит данные после старта...
от как быть хз...

смоделировал ты падения... на каком падало на звуке или картинке у тебя?
------------ Дoбавленo в 13.27:
у тебя эта схема работает нормально на машинах?

Add(MainForm,2953706,21,105)
{
Width=554
Point(Handle)
link(onCreate,15104814:doEvent1,[])
}
Add(BASS_RecordStart,5066922,329,357)
{
Freq=8000
Mode=1
Name="mainrec"
link(onData,8120054:doValue,[(439,370)(439,426)])
}
Add(Hub,4590045,273,364)
{
link(onEvent1,5066922:doStop,[])
link(onEvent2,13389086:doClose,[(302,377)(325,552)(908,552)(908,363)])
}
Add(Message,14454558,1071,378)
{
Message="ошибка подключения клиентского сервиса отправляющего аудиопоток"
}
Add(TCP_Client,13389086,924,350)
{
Port=123
Point(onError)
link(onRead,4896432:doCase,[(996,356)(996,335)])
link(onConnect,5066922:doStart,[(1014,363)(1014,223)(317,223)(317,363)])
link(IP,3335711:Text,[])
link(onError,14454558:doMessage,[(1014,377)(1014,384)])
}
Add(Convertor,7396678,798,364)
{
Mode=11
link(onResult,13389086:doSend,[])
}
Add(Case,4896432,1036,329)
{
Value=String(ok)
link(onTrue,2273537:doValue,[(1084,342)(1084,170)(506,170)(506,384)])
}
Add(IndexToChanel,9028749,623,420)
{
Count=1
Point(Index)
link(onEvent1,5971741:doEvent1,[(727,426)(727,363)])
link(Index,11768097:Value,[])
}
Add(ChanelToIndex,8405258,581,378)
{
link(onIndex,11768097:doValue,[])
}
Add(Memory,11768097,623,378)
{
Default=Integer(0)
}
Add(GlobalVar,2273537,518,378)
{
Name="on"
link(onValue,8405258:doWork1,[])
}
Add(GlobalVar,2357852,518,399)
{
Name="off"
link(onValue,8405258:doWork2,[(566,405)(566,391)])
}
Add(GlobalVar,8120054,518,420)
{
Name="thread"
link(onValue,9028749:doEvent,[])
}
Add(Hub,5971741,749,357)
{
link(onEvent1,2357852:doValue,[(774,363)(774,486)(506,486)(506,405)])
link(onEvent2,7396678:doConvert,[])
}
Add(BASS_StreamCreate,14476773,1008,980)
{
Freq=8000
DataType=1
Name="MainSound"
link(onCreate,3047460:doPlay,[])
link(Data,8732119:Stream,[])
}
Add(BASS_ChannelPlay,3047460,1078,980)
{
Channel="MainSound"
}
Add(SoundBuffer,8732119,1008,882)
{
Size=1000
}
Add(Message,8738553,322,1113)
{
Message="ошибка старта принимающего аудипоток сервиса"
}
Add(Timer,1155634,798,1015)
{
Enable=1
AutoStop=1
link(onTimer,14476773:doDestroy,[(919,1021)(919,993)])
}
Add(TCP_Server,12999720,259,875)
{
Port=123
Point(onError)
Point(doSendByIp)
link(onRead,5490384:doEvent1,[])
link(onConnect,6444517:doEvent1,[(336,888)(336,958)])
link(onDisconnect,1155634:doTimer,[(332,895)(332,1021)])
link(onError,8738553:doMessage,[(307,902)(307,1119)])
}
Add(Convertor,15998262,728,882)
{
Mode=12
link(onResult,8732119:doAdd,[])
}
Add(MT_AddData,3877925,511,749)
{
PColor(onAdd,16711680)
link(onAdd,12999720:doSendByIp,[(606,755)(606,648)(247,648)(247,902)])
link(Data1,5813228:Value,[(517,744)(482,744)])
link(Data2,12434169:Var,[])
}
Add(Memory,5813228,476,707)
{
Default=String(ok)
}
Add(LineBreak,6693103,504,938)
{
Caption="ip next"
Type=1
link(Data,7976985:Value,[])
Primary=[12434169,14,-217]
}
Add(Hub,5490384,392,875)
{
link(onEvent1,15998262:doConvert,[(567,881)(567,888)])
link(onEvent2,11680975:doData,[(438,888)(438,755)])
}
Add(Memory,7976985,504,896)
{
}
Add(Hub,6444517,441,952)
{
link(onEvent1,7976985:doValue,[(479,958)(479,902)])
link(onEvent2,14476773:doCreate,[(731,965)(731,986)])
}
Add(DoData,11680975,469,749)
{
link(onEventData,3877925:doAdd,[])
}
Add(Button,6600423,252,56)
{
Left=130
Top=100
link(onClick,13389086:doOpen,[(577,62)])
}
Add(Edit,3335711,924,273)
{
Left=125
Top=165
Width=260
Text=""
}
Add(Debug,3909931,126,126)
{
link(onEvent,12999720:doOpen,[(156,132)(156,881)])
}
Add(BASS_Init,4252681,21,168)
{
Freq=8000
Flags=2
link(onInit,13190754:doInit,[])
link(Handle,2953706:Handle,[(41,152)(27,152)])
}
Add(BASS_RecordCenter,13190754,77,168)
{
}
Add(Hub,15104814,63,119)
{
link(onEvent1,4252681:doInit,[(100,125)(100,80)(9,80)(9,174)])
link(onEvent2,3909931:doEvent,[])
}


карма: 0

0
файлы: 2code_35014.txt [2.3KB] [549], code_35019.txt [404B] [394]