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

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

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

Регистрация: Sep 2005
Адрес: Kiev
Сообщений: 73
Отправить сообщение для Annihilator с помощью ICQ
По умолчанию При попытке создать NetStream получаю NetStream.Publish.BadName

Ситуация следующая: есть два класса - Conference, в котором создано соединение NetConnection
Код AS3:
 public class Conference extends Sprite
  {
	public var nc:NetConnection;
	private var rtmpURL:String = "rtmp://fibw0251.fib.com/multichat";
	private var curuser:Object = new Object();
 
	public function Conference():void 
	{
		if (stage) init();
		else addEventListener(Event.ADDED_TO_STAGE, init);
	}
 
	public function init(e:Event = null)
	{
		nc = new NetConnection();
		nc.addEventListener(NetStatusEvent.NET_STATUS, getStream);
		nc.connect(rtmpURL, login_window.login.text);
	}
 
	private function getStream (e:NetStatusEvent):void
	{
		trace(e.info.code);
		if (e.info.code == "NetConnection.Connect.Success") {
			nc.removeEventListener(NetStatusEvent.NET_STATUS, getStream);
			curuser.name = login_window.login.text;
			login_window.visible = false;
			comboset = new Comboset();
			this.addChild(comboset);
			comboset.userVid_0.init(curuser.name, 320, 240, nc);
			comboset.userVid_0.publishStream();
		}
	}
}
и UserVid, в котором публикуется или аттачится NetStream
Код AS3:
public class UserVid extends Sprite
{
	private var username:String = "";
	public var free:Boolean = true;
	private var videoIn:Video;
	public var ns:NetStream;
	private var nc:NetConnection;
	private var cam:Camera;
        private var mic:Microphone;
 
	public function UserVid() {
	}
 
	public function init( _username:String, _vidWidth:int, _vidHeight:int, _netcon:NetConnection)
	{
		free = false;
		fusername.text = username = _username;
		nc = _netcon;
		videoIn = new Video(_vidWidth, _vidHeight);
		this.addChild(videoIn);
	}
 
	public function publishStream()
	{
	mic = Microphone.getMicrophone();
	cam = Camera.getCamera();
	if (cam != null) {
		if(cam.muted){
			cam.addEventListener(StatusEvent.STATUS, camStatusHandler);
		} else {
			setCam();
			setMic();
			ns = new NetStream(nc);
			ns.attachAudio(mic);
			ns.attachCamera(cam);
			videoIn.attachCamera(cam);
			ns.publish (("stream_" + username), "live");
			}
		}
	}
 
	private function camStatusHandler(e:StatusEvent)
	{
		trace(e.code);
		if(e.code == "Camera.Unmuted"){
			setCam();
			setMic();
 
			ns = new NetStream(nc);
			ns.attachAudio(mic);
			ns.attachCamera(cam);
			videoIn.attachCamera(cam);
			ns.publish("stream_" + username, "live");
		}
	}
        private function setCam():void
        {
             cam.setMode (320, 240, 24);
             cam.setQuality (0, 80);
        }
 
        private function setMic():void
        {
             mic.rate = 11;
             mic.setSilenceLevel (12, 2000);
        }
}
При попытке паблишить поток получаю ошибку
Цитата:
NetStatusEvent:. level=error, code=NetStream.Publish.BadName
при чем ругается на строчку
Цитата:
ns = new NetStream(nc);
Если все в одном классе и создается прямо на сцене, то никаких проблем, но как только начинаю разбивать на классы, передавать туда ссылки или хотя бы даже делать видео в отдельном мувиклипе, то вылазит эта ошибка.
Помогите, пожалуйста, разобраться.

Добавлено через 26 часов 34 минуты
Переделал приложение так, чтобы все соединения и потоки создавались и хранились в пределах главного класса, а в объекты остальных классов передаю ссылки. Так работает.


Последний раз редактировалось Annihilator; 14.12.2010 в 17:01.
Создать новую тему Ответ Часовой пояс GMT +4, время: 19:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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