Вы только создаете и отображаете состояние громкости, поэтому оно не должно влиять на фактическую громкость.
как мне отменить регулятор громкости моего компьютера?
На самом деле вы не можете, вы не можете манипулировать громкостью вашего компьютера. Однако вы можете контролировать громкость звука, воспроизводимого вашей веб-страницей.
Здесь есть два способа:
1. Используйте свойство volume <audio>
. Устанавливая громкость элемента DOM перед воспроизведением или используя функцию handleVolume
:
document.getElementById('audio-element-id').volume = this.state.volumeVal;
Многие браузеры поддерживают этот API. неизвестно, проверьте https://caniuse.com/#feat = mdn-html_elements_audio_volume
2. Используйте Web Audio API для воспроизведения аудио
Это более сложно, но вы получаете больше элементов управления.
Пожалуйста, проверьте: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
И путь. То, как вы получаете доступ к своим элементам, не очень React-i sh. Попробуйте использовать ref для доступа к вашим фактическим элементам:
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.audioRef1 = React.createRef();
}
//...
playAudio1() {
this.audioRef1.current.play();
}
//...
render() {
return (
//...
<audio ref={this.audioRef1} />;
//...
);
}
}