|
@@ -27,10 +27,10 @@ class Home extends React.Component {
|
|
|
showType: 'doctor', // doctor医生诊室 area诊区叫号 operate手术室
|
|
|
cache: {},
|
|
|
colorName: localStorage.getItem('ZZJ-color'), // white-bg白色 dark-bg深色
|
|
|
- audioSrc: '', // 音频路径
|
|
|
deviceID: '',
|
|
|
hosLogo: '',
|
|
|
voiceSrc: [],
|
|
|
+ isPlay: false,
|
|
|
// 模拟数据
|
|
|
tempList: [
|
|
|
{
|
|
@@ -263,10 +263,10 @@ class Home extends React.Component {
|
|
|
if (start > 13) {
|
|
|
start = 0;
|
|
|
}
|
|
|
- this.initVoice(start);
|
|
|
- }, 8950);
|
|
|
+ this.initVoice('/mp3.wav');
|
|
|
+ }, 2950);
|
|
|
};
|
|
|
- // test();
|
|
|
+ //test();
|
|
|
}
|
|
|
// 音频播放事件
|
|
|
initVoice = (src) => {
|
|
@@ -280,22 +280,28 @@ class Home extends React.Component {
|
|
|
}
|
|
|
});
|
|
|
const playVioce = (audioSrc) => {
|
|
|
+ if (this.state.isPlay) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
this.setState({
|
|
|
- audioSrc,
|
|
|
+ isPlay: true,
|
|
|
}, () => {
|
|
|
const domAudio = document.querySelector('#audio');
|
|
|
+ domAudio.src = audioSrc;
|
|
|
domAudio.playbackRate = 1;
|
|
|
domAudio.currentTime = 0;
|
|
|
+ domAudio.load();
|
|
|
domAudio.play();
|
|
|
const mes = () => {
|
|
|
const { voiceSrc } = this.state;
|
|
|
voiceSrc.splice(0, 1);
|
|
|
const newArr = voiceSrc;
|
|
|
this.setState({
|
|
|
+ isPlay: false,
|
|
|
voiceSrc: newArr,
|
|
|
}, () => {
|
|
|
+ domAudio.removeEventListener('ended', mes);
|
|
|
if (newArr.length > 0) {
|
|
|
- domAudio.removeEventListener('ended', mes);
|
|
|
playVioce(newArr[0]);
|
|
|
}
|
|
|
});
|
|
@@ -500,7 +506,9 @@ class Home extends React.Component {
|
|
|
style={{color: this.state.colorName == 'dark-bg' ? '#fff' : '#0D2764', marginLeft: '10px'}}
|
|
|
/>
|
|
|
</span>
|
|
|
- <audio src={this.state.audioSrc} controls id="audio" style={{display: 'none' }}></audio>
|
|
|
+ <audio controls id="audio"
|
|
|
+ style={{ position: 'fixed', left: '-1000px', top: '100px' }}
|
|
|
+ ></audio>
|
|
|
</>
|
|
|
);
|
|
|
}
|