html5 audio标志改变音量,HTML5之Audio(二)—— processor调节音量

Audio

var AudioContext = AudioContext || webkitAudioContext || mozAudioContext || msAudioContext, // 兼容性

context = new AudioContext, // 创建Audio上下文

audio = new Audio( '茜拉 - 想你的夜.mp3' ),

media = context.createMediaElementSource( audio ), // 从元素创建媒体节点

processor = context.createScriptProcessor( 4096, 1, 1 ) //创建脚本处理节点

;

//连接:media→processor→destination

media.connect( processor );

processor.connect( context.destination );

//处理过程

processor.onaudioprocess = function( e ) {

// 过程:

// input ---> 处理放大音量 ---> output

var input = e.inputBuffer.getChannelData( 0 ); // 输入数据缓冲区

var output = e.outputBuffer.getChannelData( 0 ); // 输出数据缓冲区

// 处理放大音量

for( var i = 0; i < input.length; i++ ) {

output[i] = input[i] * value;

}

};

var value = 0.5;

// 添加事件,控制音量

// value值为0-1之间

volume.onchange = function() {

value = volume.value / 200;

};

audio.play(); //播放

你可能感兴趣的:(html5,audio标志改变音量)