Как установить пользовательский 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.

Другие вопросы по тегам