Как мне сделать одно соединение для обработки видео, аудио и чата во Flex
Я разрабатываю приложение и хочу создать одно соединение для видео (netstream) и чата (sharedObject).
У меня по одному соединению для каждого, но у меня ограниченное количество подключений на сервере, поэтому мне нужно создать одно соединение для обработки видеопотока и чата sharedObject.
Я использую эти URL для подключения:
private var serverWebcamURL:String = "rtmp://myserverIP/live";
private var serverChatURL:String = "rtmp://myserverIP/multicast/chat";
Что я должен сделать, чтобы сделать эту работу?
2 ответа
Вы можете использовать NetStream для всех тех случаев, если это не групповой чат. Если это групповой чат, вам нужны общие объекты, если это чат один на один, вы можете использовать NetStream. Это было бы что-то вроде этого:
var connection:NetConnection = new NetConnection();
connection.connect(yourServerIp);
var stream:NetStream = new NetStream(connection);
stream.receiveAudio(true);
stream.receiveVideo(true);
stream.attachAudio(Microphone.getMicrophone());
stream.attachVideo(Camera.getCamera());
stream.client = this; // Yous should look this up. This is for client to client communication using a 'handler' within this class
stream.publish('media');
stream.play('media');
И из этого вы можете общаться друг с другом, используя функцию сообщения, как это:
private function message(someMessage:String):void
{
// do something
}
Теперь вам просто нужно, чтобы клиент мог отправлять сообщения следующим образом:
stream.send('message', yourMessage);
Надеюсь это поможет.
Вы можете использовать cuePoints вместо sharedObject для чата, а затем использовать одно и то же соединение для всего. Я использую только Red5, я не знаю, возможно ли это с FMS...