在storyline3课件中增加背景音乐

在storyline3课件中增加背景音乐

网站地址:

收录时间:

浏览次数: 22

所属栏目: storyline课件

  • 网站介绍
  • 相关推荐
  • 相关资讯

storylin3.jpg

在storyline3软件中没有背景音乐的功能

因为这类课件属于网页类课件,浏览器有一个限制,不允许网页开启的时候自动播放影音内容

所以增加的背景音乐,需要点击按钮之后才能播放

在幻灯片的第一帧,随便加进来一个元件(可以是形状、图片之类的),它的用途,起到加入mp3文件,并初始化背景音乐代码

如何加入mp3?

就是给该元件加一个触发器,可以是用户单击的时候,跳转到URL(文件),文件你选择需要的mp3文件

你会觉得疑惑,为什么是单击的时候,而不是“时间轴进入”的时候,这个你自己思考吧,

我可以告诉你,自已要这样设置了,在storyline发布的文件之中,在story_content里会产生一个文件夹:external_files

里面已经有了你需要的mp3文件

这样你就可以在代码里调用它了。。。。

初始化的相关的代码如下:

---------------------------------------------

// 确保在全局作用域中创建变量

if (typeof window.bgMusic === 'undefined') {

    window.bgMusic = new Audio('story_content/external_files/12.mp3');

    window.bgMusic.loop = true;

    window.bgMusic.volume = 0.5;

}

// 尝试播放

window.bgMusic.play().catch(function(error) {

    console.log("自动播放被阻止:", error);

});

-----------------------------------------------

在上面代码之中,用到了一个全局的变量window.bgMusic,如果是自己随便定义的变量是不行的,起不到全局的作用。

因为当您在Storyline的不同触发器中使用JavaScript时,每个触发器中的代码都是在独立的作用域中执行的。您在第一个触发器中创建的局部变量,在第二个触发器中是无法直接访问的。

在播放按钮中的代码:

// 检查全局变量是否存在并暂停

if (window.bgMusic) {

    window.bgMusic.play()();

    console.log("背景音乐已播放");

} else {

    console.log("未找到背景音乐对象");

}

在暂停按钮中的代码:

// 检查全局变量是否存在并暂停

if (window.bgMusic) {

    window.bgMusic.pause();

    console.log("背景音乐已暂停");

} else {

    console.log("未找到背景音乐对象");

}