【问题标题】:Stopping audio on fragment in Reveal.js在 Reveal.js 中停止片段上的音频
【发布时间】:2014-12-04 17:01:28
【问题描述】:

我很乐意使用 Reveal.js 进行演示,但现在我想使用精美的脚本创建 MOOCS。我想为每个片段添加一个音频片段,当片段显示时开始播放。到目前为止,使用 eventListener 方法在我的幻灯片中启动和暂停音频效果很好。但是,鉴于此方法的性质,当显示下一个片段时,音频或视频将继续播放,因为它取决于“片段显示”或“片段隐藏”的状态。 (见下文)

Reveal.addEventListener( 'fragmentshown', function( event ) {
    var audio = event.fragment.querySelector( 'audio' );
    if( audio ) {
    audio.play();
    }});
Reveal.addEventListener( 'fragmenthidden', function( event ) {
    var audio = event.fragment.querySelector( 'audio' );
    if( audio ) {
    audio.pause();
    }});

有没有一种简单的方法可以使用添加到当前片段(duh)的“当前片段”类来扩展它,当类传递给下一个片段?我敢肯定有,但我是一个新手,非常感谢在这里提醒。如果这将是代码的一部分,那将非常适合moocing。我从我们大学的教学同事那里收到了很多要求。

【问题讨论】:

  • 啊。我解决了。只需使用 classList.contains 来触发类“current-fragment”上的音频播放,并使用 else 语句暂停。
  • 嗨,你能详细说明一下代码 pelase 吗?也把它写成答案,这样我们就可以投票了。

标签: javascript class event-handling reveal.js


【解决方案1】:

要生成 MOOC,您可以使用为您完成这项工作的 audio-slideshow 插件。该插件允许您为每张幻灯片和片段指定一个音频文件。或者,它会根据reveal.js索引自动检查幻灯片和片段是否有音频文件,例如对于第二个水平和第一个垂直幻灯片,检查是否有文件audio/1.0.ogg

您还可以在演示时使用slideshow-recorder 插件或使用文本转语音来录制音频。

你可以找到一个演示here和插件here

阿斯文

【讨论】:

    猜你喜欢
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多