Показать сообщение отдельно
Старый 10.06.2011, 18:47
Yakuzo вне форума Посмотреть профиль Отправить личное сообщение для Yakuzo Найти все сообщения от Yakuzo
  № 2  
Ответить с цитированием
Yakuzo
 
Аватар для Yakuzo

Регистрация: Nov 2007
Адрес: Москва
Сообщений: 9
Это можно выявить, используя 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.