16

単純な質問かもしれませんが、本当に頭がおかしくなりました。HTML5 ビデオの高さと幅を設定したいだけです。

私はこのコードを使用しています:

 <video controls="controls" width="1000" id="video">
            <source src="sintel-trailer.ogv" type='video/ogg; codecs="theora, vorbis"'>
            <source src="sintel-trailer.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
  </video>

結果: ここに画像の説明を入力

高さ属性を追加すると

<video controls="controls" width="1000" height="300" id="video">
                <source src="sintel-trailer.ogv" type='video/ogg; codecs="theora, vorbis"'>
                <source src="sintel-trailer.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
 </video>

結果: ここに画像の説明を入力

ここで何か不足していますか?

誰でも私がやっている間違いを修正できますか。

4

3 に答える 3

34

これは単純な CSS トリックです。JavaScript や jQuery コードを追加する必要はありません。object-fitvideo タグで CSS プロパティを使用します。

HTML

<video controls="controls" id="video">
<source src="sintel-trailer.ogv" type='video/ogg; codecs="theora, vorbis"'>
<source src="sintel-trailer.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
</video>

CSS

#video{
  object-fit: initial;
  width: 400px;
  height: 300px;
}

フィドルを見る

于 2016-01-25T11:04:49.520 に答える
13

タグの縦横比を変更することはできません<video>

<canvas>ただし、ビデオ コンテンツを読み取って要素に書き込むことはできます。

例えば:

<canvas id="canvas" height="768" width="1024"></canvas>

そしてJS:

function updateVideo( ) {
    var canvas = document.getElementById( 'canvas' );
    var ctx = canvas.getContext( '2d' );
    var myVideo = document.getElementById( 'video' );
    ctx.drawImage( myVideo, 0, 0, 640, 480 );
}
setInterval ( updateVideo, 24 );
于 2012-04-04T12:57:34.690 に答える
-3

css を使用して回避できます。

#video {
   width:1000px;
   height:auto;
}
于 2012-04-04T13:05:00.200 に答える