Это можно выявить, используя 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.
|