Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Определение в видеочате кто из собеседников говорит в данный момент. (http://www.flasher.ru/forum/showthread.php?t=157709)

Aloran 09.06.2011 15:54

Определение в видеочате кто из собеседников говорит в данный момент.
 
Стоит задача в групповом чате подсвечивать юзеров которые говорят в данный момент (типо того как это сделано в скайпе). Подскажите как выявить это из NetStream?

Yakuzo 10.06.2011 18:47

Это можно выявить, используя NetConnection и server-side ActionScript.
Для этого можно сделать вызов серверного метода.

Например, отслеживая ActivityEvent.ACTIVITY, определить, что аудио-данные отсылаются и сделать вызов:
Код AS3:

 _netConnection.call("broadcastUserStatus", responder, "startedSpeaking", userID)

На сервере это будет:
Код AS1/AS2:

function broadcastUserStatus(command,userID){
  application.broadcastMsg(command, userID);
}

Этот метод передаст всем подключенным клиентам в метод startedSpeaking, прописанный в объекте client в NetConnection.

Код AS3:

 _netConnection.client = someCustomClient;
someCustomClient.startedSpeaking = function(userID:String){
 // подсвечиваем
}

Соответственно в методе startedSpeaking определить какой конкретно юзер начал отсылку аудио данных, используя некий идентификатор userID.

Возможно можно автоматически детектить начало поступления аудио-данных на сервере. В таком случае вызов метода на клиенте, заменяется на коллбек в серверном AS.

3p.station 10.06.2011 23:28

если p2p то я делал "сообщения состояния". Если клиент чатится он всем рассылает об этом собщение.

andrew911 11.06.2011 01:54

NetStreamInfo audioByteCount / audioBytesPerSecond

3p.station 11.06.2011 12:02

Цитата:

Сообщение от andrew911 (Сообщение 1002863)
NetStreamInfo audioByteCount / audioBytesPerSecond

и как это может быть в этом случае полезно ?

andrew911 11.06.2011 15:45

Цитата:

Сообщение от 3p.station (Сообщение 1002897)
и как это может быть в этом случае полезно ?

Очень просто: с кого идет аудио, тот и говорит.

Aloran 20.06.2011 15:14

to andrew911 Беда в том что, когда чел молчит (не произносит слов) поток байтов все равно идет.

andrew911 20.06.2011 16:35

Цитата:

Сообщение от Aloran (Сообщение 1005061)
to andrew911 Беда в том что, когда чел молчит (не произносит слов) поток байтов все равно идет.

Когда я тестил байты шли только когда были какие-то звуки, возможно у вас есть фоновый шум. Можно попробовать понизить чувствительность микрофона.


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

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