Browse Source

代码优化

liudan 2 days ago
parent
commit
b2fcf34bfa
2 changed files with 16 additions and 7 deletions
  1. 1 0
      src/components/login/Index.jsx
  2. 15 7
      src/pages/home/Index.jsx

+ 1 - 0
src/components/login/Index.jsx

@@ -234,6 +234,7 @@ class Login extends React.Component {
             </Form.Item>
           </>}
           </Form>
+          <audio controls src='/mp3.wav'></audio>
         </>}
       >
       </Modal>

+ 15 - 7
src/pages/home/Index.jsx

@@ -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>
     </>
     );
   }