ウィジェット(vPlus)を使用すると、動画に同期される HTML スライド資料を作成できます。従来の動画と比較した場合の vPlus の利点は次のとおりです。
- スライドでは、DevSite の以下の機能を使用できます。 <ph type="x-smartling-placeholder">
作成者は、動画をスライドの隅に表示するか、スライド全体に表示されるか、ユーザーがスライドを操作している間に停止するかを制御できます。
デモ
以下に、vPlus の機能を示す例を示します。[再生] ボタンを押して開始します。
スキーマ
Video Plus ウィジェットを作成するには、要素を devsite-vplus
クラスでマークします。また、この要素には、表示される YouTube 動画の ID を指定する data-video-id
属性を含める必要があります。
ウィジェット要素に data-captions-url
属性も含まれている場合は、動画に対応する字幕を含む JSON ファイルを指定する必要があります。このファイルは、md
ファイルまたは html
ファイルと同じディレクトリに置くか、「/」で始まる場合はルートから始まります。このファイルの形式と生成について詳しくは、vPlus 動画プレーヤーをご覧ください。字幕ファイルは動画から手動で抽出する必要があります。字幕ファイルの詳細と生成ツールについては、//engedu/common/vplus/README.md
をご覧ください。
さらに、devsite-vplus
要素には devsite-vplus-content-container
クラスの要素を含める必要があります。また、この要素には devsite-vplus-slide-frame
クラスの要素が含まれている必要があります。
devsite-vplus-slide-frame
要素内の各要素はスライドとみなされます。スライドは時系列で並べる必要があります。各スライド要素には、このスライドを表示する時間を秒単位で指定する data-start-time
属性が必要です。また、各スライドに data-video-mode
属性を含めることもできます。この属性には次の 2 つの有効な値があります。
- "large": 動画がスライド領域の大部分を占め、スライドを覆うようになります。
- 「stopped」: そのスライドに到達した時点で動画を一時停止します。
data-video-mode が指定されていない場合、動画はデフォルトで小さいサイズに設定されます。
スライド作成者はスライド用に追加の CSS を指定したいと思うでしょう。スライドはクラス devsite-vplus-slide-frame
の div
に含まれているため、スライド固有の CSS スタイルに、このクラスの子要素に名前空間を設定できます。
例:
<style>
.devsite-vplus-slide-frame h1 {
background-color: #4285F4;
border-bottom: 1px solid #7BAAF7;
color: #fff;
margin: 0;
padding: 10px;
top: 0 !important;
}
/* More styles... */
</style>
<div class="devsite-vplus" data-video-id="PXVnv_Paexc" data-captions-url="video-plus-captions.json">
<div class="devsite-vplus-content-container">
<div class="devsite-vplus-slide-frame">
<div data-start-time=0 class="title-background">
<div class="header1 title">vPlus Demo</div>
</div>
<div data-slide-note=true>
Note for the 'title' slide.
</div>
<div data-start-time=2 data-video-mode="large">
<!-- Intentionally left blank -->
</div>
<div data-slide-note=true>
This slide was intentionally left blank.
</div>
<div data-start-time=13>
<div class="header2">Nice Informative Slide</div>
<ul>
<li>Nice, informative bullet point</li>
<li>Another nice, informative bullet point</li>
</ul>
</div>
<div data-slide-note=true>
Very meta. In this note, we could talk about several things:
<ul>
<li>What could go in the note versus in the slide itself.
<ul>
<li>Either can contain HTML or markdown</li>
<li>Whether it would be useful to display something to the viewer
or only in the notes that the presenter would presummably
see and may read out loud.</li>
</ul>
</li>
<li>Users may view notes themselves, usually offline.</li>
<li>Notes could be a way of
<a href="#demo">linking to demos</a>.
</li>
</ul>
</div>
<div data-start-time=21>
<div class="header2">Nice, informative cat picture</div>
<div>
<!-- Image CCO Public Domain at https://pixabay.com/en/kitten-cute-feline-kitty-domestic-1246693/ -->
<img class="cat-pic" src="https://cdn.pixabay.com/photo/2016/03/09/15/31/kitten-1246693_1280.jpg">
</div>
</div>
<div data-start-time=32 data-video-mode="stopped">
<div class="header2">Here's some interactive content</div>
<div>
<devsite-multiple-choice>
<div>What color is the sky?</div>
<div correct>
<div>Blue</div>
<div>But do you know <b>why</b>?</div>
</div>
<div>
<div>Purple</div>
<div>Not really</div>
</div>
<div>
<div>Indigo</div>
<div>Close but not quite</div>
</div>
<div>
<div>Green</div>
<div>What planet are you from?</div>
</div>
</devsite-multiple-choice>
</div>
</div>
<div data-slide-note="true">
Note, when an interactive slide is reached,
you have to click the 'Play' button,
or the 'Next Slide' button in order to continue.
</div>
<div data-start-time=33 data-video-mode="stopped">
<div class="header2">Here's some more interactive content - <a href="/blockly/">Blockly</a></div>
<iframe style="height: 75%; width: 90%; margin: 0 5%;" src="/blockly/blockly-demo/blockly-demo"></iframe>
</div>
<div data-start-time=34 data-video-mode="large">
<!-- Intentionally left blank -->
</div>
<div data-start-time=78>
<div>
<div class="header2">Thanks for watching!</div>
<ul>
<li>Video Plus drives video play and slides</li>
<li>Reduces need to reshoot video if slides change</li>
<li>Provides searchable transcript</li>
<li>Pauses video for user interactions</li>
<li>Video can switch between large and small</li>
</ul>
</div>
</div>
</div>
</div>
</div>
vPlus ウィジェットがページに表示される場合、動画プレーヤーは自動的には起動しませんが、ユーザーが再生ボタンを押すと、スライドと字幕(表示されている場合)が自動的に進められます。ユーザーは、次のマウスとキーボードの操作を使用してウィジェットを操作することもできます。