【发布时间】:2014-10-15 14:12:52
【问题描述】:
我正在使用媒体播放器库来投射我的 HLS 流并且我正在尝试设置它的样式。我想在加载等之前放置动画。这就是我在媒体管理器的 onLoad 方法中所做的;
window.onload = function ()
{
mediaElement = document.querySelector('video');
mediaElement.autoplay = true;
...
}
mediaManager.onLoad = function (event)
{
var title = event.data['media']['metadata']['title'];
var titleElement = this.receiverelement.querySelector('.media-title');
videoplayer.setInnerText_(titleElement, title);
var subtitle = event.data['media']['metadata']['subtitle'];
var subtitleElement = this.receiverelement.querySelector('.media-subtitle');
videoplayer.setInnerText_(subtitleElement, subtitle);
var artwork = videoplayer.getValue_(event.data, ['media', 'metadata',
'images', 0, 'url']);
var artworkElement = this.receiverelement.querySelector('.media-artwork');
videoplayer.setBackgroundImage_(artworkElement, artwork);
var autoplay = videoplayer.getValue_(event.data, ['autoplay']);
var contentId = videoplayer.getValue_(event.data, ['media', 'contentId']);
var contentType = videoplayer.getValue_(event.data, ['media', 'contentType']
);
this.videoType(contentType);
this.currentState(videoplayer.State.LOADING, false);
this.videoElement.autoplay = autoplay || true;
this.videoElement.src = contentId || '';
if (event.data['media'] && event.data['media']['contentId']) {
var url = event.data['media']['contentId'];
var mediaHost = new cast.player.api.Host({
'mediaElement': this.videoElement,
'url': url
});
mediaHost.onError = function (errorCode) {
console.error('### HOST ERROR - Fatal Error: code = ' + errorCode);
if (mediaPlayer !== null) {
mediaPlayer.unload();
}
}
var initialTimeIndexSeconds = event.data['media']['currentTime'] || 0;
var protocol = null;
var parser = document.createElement('a');
parser.href = url;
var ext = ext = parser.pathname.split('.').pop();
if (ext === 'm3u8') {
protocol = cast.player.api.CreateHlsStreamingProtocol(mediaHost);
} else if (ext === 'mpd') {
protocol = cast.player.api.CreateDashStreamingProtocol(mediaHost);
} else if (ext === 'ism/') {
protocol = cast.player.api.CreateSmoothStreamingProtocol(mediaHost);
}
console.log('### Media Protocol Identified as ' + ext);
if(protocol == null)
{
this.load.bind(this);
}
else
{
mediaPlayer = new cast.player.api.Player(mediaHost);
mediaPlayer.load(protocol, initialTimeIndexSeconds);
}
}
我还在使用媒体播放器库(DRM 需要它)吗? videoElement 变量是指 HTML 中的视频标签。在媒体管理器 onload 功能中,我将其来源设置为视频 url。通过这样做,我是否仍在使用媒体播放器库,我仍然可以为 DRM 等设置 licenseURL 吗?如果没有,我该如何设置媒体播放器的样式?
【问题讨论】:
标签: javascript css chromecast