12

2 つの問題があります。ビデオ要素内にトラック タグを配置するとすぐに、ビデオのデフォルト コントローラが表示されます。私はカスタムコントロールを持っているので、それはかなりの問題です。

2番。クローズド キャプションのオンとオフを切り替える方法が見つかりません。

HTML:

<video id="trailers" poster="images/poster/poster.jpg">
                <source src="media/vLast.mp4" type="video/mp4">
                <source src="media/vLast.webm" type="video/webm">
                <track id="mytrack" label="English Subtitles" src="subtitles.vtt" srclang="en" default />
 </video> 

 <button id="cc">CC</button>

JS:

  var cc = document.getElementById('cc');
function cc(){
       var video= document.getElementById('media');
       var track1 = video.textTracks[0];
       var mytrack = document.getElementById('mytrack');
       var track2 = mytrack.track;
       console.log(track1);
       console.log(track2);
    }
    cc.addEventListener('click',cc,false);
4

2 に答える 2

16

コントロールを非表示にする必要があるタグcontrols内のへの参照を削除すると(最初の読み込みで点滅する場合がありますが、ビデオが読み込まれると非表示のままになります)、項目はブール値です: 存在する場合は表示され、存在しない場合は表示されますそうしないと、彼らはしません。<video>controls

modeキャプションを表示および非表示にするには、以下のように「表示」または「非表示」に設定する必要があります

<video autoplay loop id="v">
    <source src="Video.mp4" type="video/mp4">
    <track id="enTrack" src="entrack.vtt" label="English" kind="subtitles" srclang="en" default> 
    HTML5 video not supported
</video>
.
.
.  
<script>
.
v = document.getElementById("v")
v.textTracks[0].mode = "hidden";  // "showing" will make them reappear
    // if you want to show the controls
v.controls = true;
.
</script>

キャプションに関しては、ブラウザーが異なれば動作も異なるため、YMMV に注意してください。これは、OSX および IE10 の Chrome/Safari で動作します (ただし、Safari および IE では、mode の値は非表示の場合は「0」、表示の場合は「2」ですが、テキストを使用して設定すると動作するようです。iOS ではテストしていません。

于 2013-02-17T03:28:26.603 に答える