2

スライダーとオーディオトラックを備えたhtml5Webページがあります。サウンドタグのプロパティcontrols="controls"()は参照しません。スライダーでオーディオファイルの音量を制御したい。ボディタグで使用する場合、次のコードは完全に機能します。ボディタグで使用すると、耳をつんざくようなノイズが発生します。これは私のコードです:

HTML

<!doctype html>
<html lang="en">

<head>

<title>Rain</title>
<meta charset="utf-8">

<link rel="stylesheet" type="text/css" href="css/ui-lightness/jquery-ui-1.8.23.custom.css">
<link rel="stylesheet" type="text/css" href="css/style.css">

</head>

<body onLoad="run();">

<div id="slider"></div>


<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery-ui.js"></script>
<script type="text/javascript" src="js/ui.js"></script>
</body>
</html>

JS

// Invoke new Audio object
var ad = new Audio('rainloop.mp3');

//default play audio
ad.play();

//volume slider
$('#slider').slider({
min:0,
max:100,
step:1,
value:50,
slide: function(){

    ad.volume = parseFloat(this.value / 10);
}

});

s here : ad.volume = parseFloat(this.value / 10); Iad.volume = parseFloat(this.value)およびad.volume = parseFloat(this.value / 100)も試してみた問題だと思いますが、それでも理解できないノイズが発生します。

4

1 に答える 1

1

0と1の間の音量値を操作してみてください。ここで、0はサイレント(0%)で、1は最大音量(100%)です 。http://www.w3schools.com/html5/av_prop_volume.asp

コードのこの部分で得られるものをコンソールログにチェックインします。

parseFloat(this.value / 100) 
于 2012-09-23T22:20:23.493 に答える