我有一个使用 MediaElement JS 和一些自定义 jQuery 开发的视频幻灯片播放器。
关于播放器的一切都很好,并且完全按照我的需要做,除了一件事。
在 IE7 和 IE8 中,它使用 flash 后备,每当它使用 flash 后备时,它仍然会全屏显示,但视频不会缩放。它只是保持相同的尺寸并获得一个大的黑色背景。
这确实是一个问题,因为全屏功能对于阅读视频上的某些文字很重要。有没有人遇到过这个?
这是我正在使用的代码:
<video id="slide-video" src="/Slides/1.mp4" controls="controls" width="565" height="425">
<object width="565" height="425" type="application/x-shockwave-flash" data="/js/flashmediaelement.swf">
<param name="movie" value="/js/flashmediaelement.swf" />
<param name="flashvars" value="controls=true&file=/Slides/1." />
</object>
</video>
这是我正在使用的 JavaScript
<script type="text/javascript">
$('.scroll-pane').jScrollPane();
var autoPlay = true;
var currChapter = 1;
var currSlide = 1;
var player;
$(document).ready(function () {
player = new MediaElementPlayer('#slide-video', {
plugins: ['flash'],
pluginPath: '<%=SkinPath %>MediaElement/',
flashName: 'flashmediaelement.swf',
success: function (mediaElement, domObject) {
// add event listener
mediaElement.addEventListener('ended', videoEnded, false);
if ($.browser.msie && $.browser.version != '9.0' || $.browser.mozilla) {
if (autoPlay)
loadSlide(1, 1);
}
}
});
$('ul.chapter li img').bind('click', function () {
loadSlide($(this).attr('chapter'), $(this).attr('slide'));
});
if (!$.browser.msie && !$.browser.mozilla || $.browser.msie && $.browser.version == '9.0') {
if (autoPlay) {
loadSlide(1, 1);
}
}
});
function videoEnded() {
var nextSlide = parseInt(currSlide) + 1;
if ($('img[chapter=' + currChapter + '][slide=' + nextSlide + ']').length == 0) {
currChapter++;
//nextSlide = 1;
}
currSlide++;
if ($('img[chapter=' + currChapter + '][slide=' + nextSlide + ']').length > 0) {
loadSlide(currChapter, nextSlide);
}
}
function videoPrev() {
var nextSlide = parseInt(currSlide) - 1;
if ($('img[chapter=' + currChapter + '][slide=' + nextSlide + ']').length == 0) {
currChapter--;
//nextSlide = 1;
}
currSlide--;
if ($('img[chapter=' + currChapter + '][slide=' + nextSlide + ']').length > 0) {
loadSlide(currChapter, nextSlide);
}
}
function loadSlide(chapter,slide) {
currChapter = chapter;
currSlide = slide;
$('.current-slide').text(slide);
$('.slide-text-wrap div[slide]').hide();
$('div[slide=' + slide + '].slide-text').show();
var imageFile = $('img[chapter=' + chapter + '][slide=' + slide + ']').attr('src').replace('-thumb', '');
$('.slide-img img:first').attr('src', imageFile);
player.setSrc(imageFile.replace('.png', '.mp4'));
player.play();
}
它适用于我见过的播放器的其他实例。我正在使用除此之外的所有标准 JS 和 CSS 文件。