Задать вопрос
Headshrinker
@Headshrinker
Java-разработчик

Почему не срабатывает onMetaData при воспроизведения потока?

Добрый день!
Используем Wowza Media Server 4.1.0,
есть viewer, которые просматривает поток.
все работает, поток воспроизводится,
но событие onMetaData не срабатывает
код:
var meta:Object = new Object()
meta.onMetaData = onMetaData
ns = new NetStream(nc)	
ns.client = meta

public function onMetaData(info:Object):void
{
  this.dispatchEvent(new Event(EVENT_HIDE_LOADER))
}

Может ли быть причина в том что серевер не присылает метаданные?
  • Вопрос задан
  • 2306 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Headshrinker
@Headshrinker Автор вопроса
Java-разработчик
Не помню в чем был косяк, но я сделал таким образом и заработало:
var meta:Object = {};
//при получении метаданных
meta.onMetaData = onMetaData;
//при получении текстовых данных (например субтитров)
meta.onTextData = onTextData;
ns = new NetStream(nc);
ns.client = meta;
//определение обработчика состояния стрима
ns.addEventListener(NetStatusEvent.NET_STATUS, statusHandler);
this.dispatchEvent(new Event(EVENT_CONNECT_SUCCESS));
this.attachNetStream(ns)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ERrorMAKros
@ERrorMAKros
Front-End/Back-End Developer
Именно, транслятор потока должен отправить метаданные на медиа сервер (сразу после начала трансляции), ...и только после этого, метаданные попадут к клиентам.

Для отправки метаданных на сервер подойдет вот это:
var stream:NetStream = new NetStream();
stream.publish();
var meta:Object = {
	x: 10,
	y: 20,
	name: "test",
	//	...any info;
}

stream.send("@setDataFrame", "onMetaData", meta);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы