求JS控制bgsound的方法

JavaScript08

求JS控制bgsound的方法,第1张

地址可以通过修改它的src属性来改变,音量可以使用它的volume 来改变,它的范围为-10000到0。

举一下改变声音的例子吧。

<SCRIPT Language="VBScript">

Function btnUp_OnClick()

Dim iVolume

iVolume = document.all.oSound.volume + 500

If iVolume <0 Then

document.all.oSound.volume = iVolume

End If

End Function

Function btnDown_OnClick()

Dim iVolume

iVolume = document.all.oSound.volume - 500

If iVolume >-10000 Then

document.all.oSound.volume = iVolume

End If

End Function

Function btnSilence_OnClick()

document.all.oSound.volume = -10000

End Function

</SCRIPT>

<bgSound src="音乐地址" id="oSound"/>

<button name="btnUp">加大</button>

<button name="btnDown">减小</button>

<button name="btnSilence">静音</button>

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

你定义了一个变量,但没有赋值,所以不行,你需要对它进行赋值,如:

Dim iVolume

iVolume = document.all.oSound.volume

这样才能进行比较。

这里我们可以使用JS来进行控制,代码如下:

var audio

window.onload = function(){

initAudio()

}

var initAudio = function(){

//audio = document.createElement("audio")

//audio.src='Never Say Good Bye.ogg'

audio = document.getElementById('audio')

}

function getCurrentTime(id){

alert(parseInt(audio.currentTime) + ':秒')

}

function playOrPaused(id,obj){

if(audio.paused){

audio.play()

obj.innerHTML='暂停'

return

}

audio.pause()

obj.innerHTML='播放'

}

function hideOrShowControls(id,obj){

if(audio.controls){

audio.removeAttribute('controls')

obj.innerHTML = '显示控制框'

return

}

audio.controls = 'controls'

obj.innerHTML = '隐藏控制框'

return

}

function vol(id,type , obj){

if(type == 'up'){

var volume = audio.volume + 0.1

if(volume >=1 ){

volume = 1

}

audio.volume = volume

}else if(type == 'down'){

var volume = audio.volume - 0.1

if(volume <=0 ){

volume = 0

}

audio.volume = volume

}

document.getElementById('nowVol').innerHTML = returnFloat1(audio.volume)

}

function muted(id,obj){

if(audio.muted){

audio.muted = false

obj.innerHTML = '开启静音'

}else{

audio.muted = true

obj.innerHTML = '关闭静音'

}

}

//保留一位小数点

function returnFloat1(value) {

value = Math.round(parseFloat(value) * 10) / 10

if (value.toString().indexOf(".") <0){

value = value.toString() + ".0"

}

return value