wavesurfer音波插件之播放指定语音片段

       使用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>

 

Vue WaveSurfer 插件是一个基于 Vue.js 的音频播放器组件,它使用 WaveSurfer.js 库来实现音频波形可视化。该插件提供了丰富的配置选项和事件回调函数,可以满足各种音频播放需求。 安装: ``` npm install vue-wavesurfer ``` 使用示例: ```vue <template> <div> <vue-wavesurfer ref="waveSurfer" :options="options" @ready="onReady" @play="onPlay"></vue-wavesurfer> <button @click="play">Play</button> </div> </template> <script> import VueWaveSurfer from 'vue-wavesurfer' import 'wavesurfer.js/dist/wavesurfer.css' export default { components: { VueWaveSurfer }, data() { return { options: { waveColor: '#ddd', progressColor: '#FF4081', height: 60, barWidth: 3, cursorWidth: 1, hideScrollbar: true, plugins: [ // 插件配置 ] } } }, methods: { play() { this.$refs.waveSurfer.play() }, onReady() { console.log('WaveSurfer is ready') }, onPlay() { console.log('WaveSurfer is playing') } } } </script> ``` 在示例中,我们使用了 Vue WaveSurfer 插件来展示一个音频波形图,并提供了一个"Play"按钮来播放音频。首先,我们在 `data` 选项中定义了 WaveSurfer 的配置选项。然后在模板中,我们使用 `vue-wavesurfer` 组件来渲染音频波形图,并传入配置选项。我们还通过 `ref` 指令给 WaveSurfer 组件命名,以便在后面的代码中使用。最后,我们在 `methods` 中实现了一个 `play` 方法,用于调用 WaveSurfer 的 `play` 方法,以实现播放音频的功能。同时,我们还实现了两个事件回调函数 `onReady` 和 `onPlay`,分别在 WaveSurfer 就绪和播放时被调用。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南风大大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值