首页 > 编程语言 > 详细

HTML5 Audio and JavaScript Control

时间:2015-11-30 11:22:48      阅读:311      评论:0      收藏:0      [点我收藏+]


IE8 以下无效

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Playing Sound from JavaScript</title>
<script src="mootools-1.2.4-core.js"></script>
	<script src="sif_discussion.js"></script>
	<script language="JavaScript">

		var topic = ‘audio‘;
		var comment_teaser = ‘Please leave a comment...‘;
		window.onload = reload_comments;

	</script>
</head>

<body>
<h2><a name="simpleaudio"></a>Simple JavaScript Control</h2>
				<div class="audiocontainer">
					<audio id="audiotag1" preload="auto"><source src="flute_c_long_01.wav" type="audio/wav"></audio>
					<p>
						<a href="javascript:play_single_sound();">Play 5-sec sound on single channel</a>
					</p>
				</div>
				<script type="text/javascript">
					function play_single_sound() {
						document.getElementById(‘audiotag1‘).play();
					}
				</script>
				
				
<h2><a name="rotatingaudio"></a>Rotating Audio Channels</h2>
				<div class="audiocontainer">
					<audio id="multiaudio1" src="flute_c_long_01.wav" preload="auto"></audio>
					<audio id="multiaudio2" src="piano_chord.wav" preload="auto"></audio>
					<audio id="multiaudio3" src="synth_vox.wav" preload="auto"></audio>
					<audio id="multiaudio4" src="shimmer.wav" preload="auto"></audio>
					<audio id="multiaudio5" src="sweep.wav" preload="auto"></audio>
					<p>
						<a href="javascript:play_multi_sound(‘multiaudio1‘);">Flute</a><br />
						<a href="javascript:play_multi_sound(‘multiaudio2‘);">Piano Chord</a><br />
						<a href="javascript:play_multi_sound(‘multiaudio3‘);">Synth Vox</a><br />
						<a href="javascript:play_multi_sound(‘multiaudio4‘);">Shimmer</a><br />
						<a href="javascript:play_multi_sound(‘multiaudio5‘);">Sweep</a><br />
					</p>
				</div>
				<script type="text/javascript">
					var channel_max = 10;
					audiochannels = new Array();
					for (a=0;a<channel_max;a++) {
						audiochannels[a] = new Array();
						audiochannels[a][‘channel‘] = new Audio();
						audiochannels[a][‘finished‘] = -1;
					}
					function play_multi_sound(s) {
						for (a=0;a<audiochannels.length;a++) {
							thistime = new Date();
							if (audiochannels[a][‘finished‘] < thistime.getTime()) {
								audiochannels[a][‘finished‘] = thistime.getTime() + document.getElementById(s).duration*1000;
								audiochannels[a][‘channel‘].src = document.getElementById(s).src;
								audiochannels[a][‘channel‘].load();
								audiochannels[a][‘channel‘].play();
								break;
							}
						}
					}
				</script>				
</body>

</html>

  IE8 有效:

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Playing Sound from JavaScript</title>
</head>

<body>
<script type="text/javascript" language="JavaScript">
<!--
function playSound(audioURL) {
 if (document.all) document.all[‘BGSOUND_ID‘].src=audioURL;
 else self.iplayer.location.replace(‘jsplayer.html?‘+audioURL);
}

function stopSound() {
 if (document.all) document.all[‘BGSOUND_ID‘].src=‘jsilence.mid‘;
 else self.iplayer.location.replace(‘jsplayer.html?stop‘);
}
//-->
</script>

<BGSOUND id="BGSOUND_ID" LOOP=1 SRC="jsilence.mid">
<!EMBED NAME="Bach" SRC="Bach.mid" LOOP=FALSE AUTOSTART=FALSE HIDDEN=TRUE MASTERSOUND!>
<form name=myform>
<input type=button value="Play Sound" onClick="playSound(‘Bach.mid‘)">
<input type=button value="Stop Sound" onClick="stopSound()">
</form>

</body>

</html>

  参考资源:

/// https://github.com/CreateJS/SoundJS
/// http://madrobby.github.io/scriptaculous/sound/
/// https://css-tricks.com/examples/SoundOnHover/
/// https://github.com/scottschiller/SoundManager2/
/// http://www.schillmania.com/projects/soundmanager2/

HTML5 Audio and JavaScript Control

原文:http://www.cnblogs.com/geovindu/p/5006549.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!