Как установить пользовательский NetLoader для f4melement в osmf
Я делаю пользовательский проигрыватель osmf, использующий HDS с адаптивным битрейтом, воспроизводящий контент формата f4m.
и у меня были некоторые проблемы с адаптивным алгоритмом битрейта, он не индексирует более низкий битрейт, как только он достигает самого высокого битрейта.
поэтому я обнаружил, что вы не можете настроить некоторые правила для алгоритма ABR, используя собственный класс NetLoader... но до сих пор я нашел только примеры, использующие его поверх видеоэлемента.
Я использую метод "mediaFactory.createMediaElement", чтобы получить медиаэлемент для ресурса, вот код:
var resource2:URLResource = new URLResource(este);
var element:MediaElement = mediaFactory.createMediaElement( resource2);
var videoelement:VideoElement= new VideoElement(new URLResource(este), new GoWebAB());
var sprite:MediaPlayerSprite= new MediaPlayerSprite();
//sprite.resource=resource2;
sprite.mediaPlayer.media=videoelement;
mediaPlayer=sprite.mediaPlayer;
//sprite.media=videoelement;
addChild(sprite);
1 ответ
Вы могли бы создать MediaFactory
экземпляр и добавить свой кастом MediaFactoryItem
как ниже
var mediaFactory:MediaFactory = new MediaFactory();
var loader:NetLoader = new GoWebAB();
mediaFactory.addItem
( new MediaFactoryItem
( "org.osmf.elements.video"
, loader.canHandleResource
, function():MediaElement
{
return new VideoElement(null, loader);
}
)
);
Загляни внутрь org.osmf.media.DefaultMediaFactory
для более подробной информации о том, как добавить MediaFactoryItem.