PDA

Просмотр полной версии : Как определить есть ли в NetStream'е видео?


Hogar
13.10.2009, 03:18
Как программно определить есть ли в принимаемом NetStream видео или только аудио?
Т.е. если перед его отсылкой мы прикрепили видео
camera = Camera.get();
nsPublish = new NetStream (nc);
nsPublish.attachVideo(camera);
но объект camera был равен null

Во флешке, которая принимает этот NetStream необходимо или показать видео, если в NetStream'е оно есть, или сделать видимой картинку-аватарку, если видео в NetStream'е нет. Но как программно определить есть оно там или нет?

wvxvw
13.10.2009, 04:32
Эти данные как правило есть в метадате, но метадаты может и не быть... если сервер "под вашим контролем", то конечно, вы можете проследить за тем, чтобы эти данные туда попали, но в глобальном случае похоже, что никак... Т.е. на самом деле эту информацию легко получить прочитав байты присылаемого потока, проблема в том, что на уровне языка такой возможности нет...

Hogar
13.10.2009, 04:51
Спасибо за ответ. Именно через метадату как раз решил таки свою проблему. Перед отсылкой NetStream'a, добавил в него параметр доступности камеры presenceCamera
var metaData:Object = new Object();
metaData["presenceCamera"] = String(camera);
nsPublish.send("@setDataFrame", "onMetaData", metaData);

Получающая NetStream флешка всё успешно видит:
var presenceCamera:String
nsPlay.onMetaData = function(infoObject:Object) {
presenceCamera = infoObject.presenceCamera;
};
if(presenceCamera==null){показываем картинку...}
Незнаю насколько универсально решение (в понимании серверной части и той же метадаты я пока не силён), но у меня всё заработало.

Ещё раз спасибо, что откликнулись.

wvxvw
13.10.2009, 12:42
Всегда пожалуйста :)