wavesurfer音波外掛之播放指定語音片段
阿新 • • 發佈:2020-09-03
使用wavesurfer音波外掛時,可能會用到這麼一個功能,點選音轉文後的某一句文字,則需要在音波條上進行播放這一段錄音,恰好wavesurfer外掛自帶這麼一個功能,直接上程式碼:
<script type="text/javascript" src="/js/wavesurfer.min.js"></script> <div id="waveform"></div> <script> //初始化 var wavesurfer = WaveSurfer.create({ container: '#waveform', waveColor: 'violet', progressColor: 'blue' }); //自帶的獲取錄音時長 wavesurfer.on('ready', function () { $('#getDuration').html(wavesurfer.getDuration()); }); //播放或暫停 function play(){ if(wavesurfer.isPlaying()){ wavesurfer.playPause(); }else{ wavesurfer.setPlaybackRate(1); wavesurfer.play(); } } //1.5倍速播放 function quaplay(){ wavesurfer.setPlaybackRate(1.5); wavesurfer.play(); } //1.8倍速播放 function qualityplay(){ wavesurfer.setPlaybackRate(1.8); wavesurfer.play(); } //靜音播放 function mute(){ if(wavesurfer.getMute() == true){ wavesurfer.setMute(false); wavesurfer.play(); }else{ wavesurfer.setMute(true); } } //載入錄音 wavesurfer.load('/apps/resource/voice/${voice.id!''}.wav'); //重點在這裡,傳入 start 和 end 時間,秒為單位,就可以播放指定的一段錄音,音波的游標也會移動到這一段錄音的地方,播放後自動會停下 $(".media-play").click(function(){ var start = $(this).attr("data-start"); var end = $(this).attr("data-end"); wavesurfer.seekTo(0); wavesurfer.play(start/1000,end/1000); }); </script>