同时播放背景音乐和音效
Posted
技术标签:
【中文标题】同时播放背景音乐和音效【英文标题】:Play background music and sound effect at the same time 【发布时间】:2012-08-09 13:00:28 【问题描述】:我有一个需要播放背景音乐的游戏,当我点击一个按钮时它应该会播放声音。它播放声音但停止音乐。
重新打开音乐的唯一方法是执行另一个事件,例如单击按钮。有没有办法在背景音乐继续播放的同时播放声音?
到目前为止,这是我的代码。
var a = new Audio("Latin Groove Hype App.mp3");
function init()
playBackGroundLoop();
// in html(<body onload = "init()">)
function playSoundEffect()
var playSoundCorrect = new Audio("Correct synth.mp3");
playSoundCorrect.play();
function playBackGroundLoop()
a.addEventListener('ended', function()
this.currentTime = 0;
this.play();//plays music on loop
, true);
a.play();
$(function()
$("#playButton").on("click",function()
playSoundEffect();
);
谢谢
【问题讨论】:
【参考方案1】:花点时间传递我的脚本以适应您的项目:
HTML:
<ul id=nav>
<li><a href="javascript:;">Item 1</a></li>
<li><a href="javascript:;">Item 2</a></li>
</ul>
<audio id="audio-nav">
<source src="click.mp3"></source>
<source src="click.ogg"></source>
Your browser isn't invited for super fun audio time.
</audio>
<audio id="audio-bg">
<source src="bg.mp3"></source>
<source src="bg.ogg"></source>
Your browser isn't invited for super fun audio time.
</audio>
<a id="toggle" href="javascript:;">PLAY/PAUSE</a>
JS:
var bgMusic = $('#audio-bg')[0],
navMusic = $('#audio-nav')[0],
playing = true;
bgMusic.addEventListener('ended', function()
this.currentTime = 0;
if (playing)
this.play();
, false);
bgMusic.play();
$('#toggle').click(function()
if (!bgMusic.paused)
bgMusic.pause();
playing = false;
else
bgMusic.play();
playing = true;
);
$('#nav a').click(function()
navMusic.play();
);
...在这里,一个完整的functional demo
【讨论】:
以上是关于同时播放背景音乐和音效的主要内容,如果未能解决你的问题,请参考以下文章