Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 15.02.2012, 20:47
BerkutSoft вне форума Посмотреть профиль Отправить личное сообщение для BerkutSoft Найти все сообщения от BerkutSoft
  № 1  
Ответить с цитированием
BerkutSoft
 
Аватар для BerkutSoft

Регистрация: Feb 2012
Сообщений: 10
Melody Передача звука идёт с большой задержкой в Р2Р

Здравствуйте все!
Вот беда у меня беда.. начал писать аудиочат на основе технологии Р2Р. Я запускаю 2 одинаковых приложения на локальном компе. Вроде бы всё работает, звук передаётся и воспринимается, но воспроизведение звука по началу отстаёт на 3-4 секунды, но по истечению некоторого времени (от 1 до 5 минут) всё выравнивается и звук воспроизводится сразу как только я что либо говорю в микрофон. В чём может быть беда?
Код AS3:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
			   applicationComplete="OnApplicationComplete()">
	<fx:Script>
		<![CDATA[
			import mx.controls.Text;
			private var netConnection:NetConnection;
			private var netGroup:NetGroup;
			private var netStream:NetStream;
			private var speaker:NetStream;
			private var groupspec:GroupSpecifier;
			private var groupName:String;
			private 	const SERVER:String ='rtmfp://p2p.rtmfp.net/';
			private 	const DEVKEY:String = 'тут был мой ключ разраба';
			function netStatusHandler(e:NetStatusEvent):void {
				switch (e.info.code) {
					case 'NetConnection.Connect.Success':
						setupGroup();
						break;
					case 'NetStream.Connect.Success':
						// Create new NetGroup
					{netGroup = new NetGroup(netConnection, groupspec.groupspecWithAuthorizations());
						netGroup.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
					}
						break;
					case 'NetGroup.Connect.Success': OnNetStreamConnect();	break;
					case 'NetGroup.SendTo.Notify' :
						trace(e.info.message); 	break;
					default:
				}
			}
 
			private function OnNetStreamConnect():void
			{
				netStream.client = this;
				var mic:Microphone = Microphone.getMicrophone();
				if(mic)
				{
					mic.codec = SoundCodec.SPEEX;
					mic.setSilenceLevel(0);
					netStream.attachAudio(mic);
					StatusMessage("Есть микрофон\n");
					netStream.publish("stream");
				}
			}
			private function OnApplicationComplete():void
			{	userName.text = "user " + int(Math.random() * 65536);
				groupName ="BerkutSoft";
				StatusMessage("Connecting to \"" + SERVER + "\" ...\n");
				netConnection = new NetConnection();
				netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
				netConnection.connect(SERVER + DEVKEY); 
				StatusMessage("--NetConnection--\n");
			}
 
			function setupGroup():void {
				groupspec = new GroupSpecifier("bs/" + groupName);
				groupspec.serverChannelEnabled = true;
				groupspec.multicastEnabled = true;
				groupspec.postingEnabled = true;
				groupspec.routingEnabled = true;
				groupspec.peerToPeerDisabled = false;
				netStream = new NetStream(netConnection, groupspec.groupspecWithAuthorizations());
				netStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
				speaker = new NetStream(netConnection, groupspec.groupspecWithAuthorizations());
				speaker.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
				speaker.play("stream");		
			}
 
			private function StatusMessage(msg:Object):void
			{
				statusLog.text += msg;
				statusLog.verticalScrollPosition = statusLog.textHeight;
				statusLog.validateNow();
			}
		]]>
	</fx:Script>
 
	<s:TextInput id="userName" width="160" />
	<mx:TextArea id="statusLog" width="100%" height="100%"/>
 
</s:Application>

Создать новую тему   Часовой пояс GMT +4, время: 11:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:19.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.