4

だから私は、jQuery の .load() を使用してページにロードするビデオを持っています。「ビデオ」セクションで問題を確認できる Web サイトは次のとおりです: http://guillaumep.com/

使用するビデオタグは次のとおりです。

<video><source src="URLTOVIDEO.mp4" type="video/mp4" />

my にロードされた直後にビデオ HTML を生成するコードを次に示します#contentFrame

$('video').wrap('<div class="videowrapper">')

.attr({ 'style': 'width: 100%; height: 100%;' })
.mediaelementplayer({ success: function (player) { 
    correctVideoSize($(player).parent(4).eq(0)); }
});

次に、ウィンドウの形状に応じてビデオ プレーヤーのサイズを実際に変更するコードを用意しました。これにより、ビデオは常に最大サイズで表示され、ウィンドウがオーバーフローすることはありません。

function correctVideoSize(videoContainer) {
    var videoContainerHeight = $(window).height() - 100;
    var videoContainerWidth = $(window).width() * 0.92;
    var videoContainerRatio = videoContainerWidth / videoContainerHeight;
    var videoRatio = videoContainer.width() / videoContainer.height();
    console.log('videoRatio : ' + videoRatio);
    console.log('videoContainerRatio : ' + videoContainerRatio);

    if (!isNaN(videoRatio) && videoContainerRatio < videoRatio)
    {
        videoContainer.height(videoContainerWidth / videoRatio).width(videoContainerWidth);
    }
    else if (!isNaN(videoRatio))
    {
        videoContainer.height(videoContainerHeight).width(videoContainerHeight * videoRatio);
    }

    return videoContainer;
}

http://guillaumep.comでわかるように、画像のサイズ変更は絶対に機能しますが、ビデオの場合、いつ、何を、どこでサイズ変更する必要があるのか​​ わかりません。ここで問題を確認できます: http://guillaumep.com/2012/10/22/test-video/ .

私はさまざまなことを試し、$(window).resize() イベントでビデオのサイズを正しく変更しましたが、MediaElementJs が既にこのイベントにフックされ、いくつかの魔法を行っているためだと思います。

私はここで本当に迷っています。助けてくれてありがとう!

4

1 に答える 1