日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AudioPlayer.js实现限制仅播放一条语音、多条语音顺序播放、自动播放(有限制)、调整语音条长度

發(fā)布時(shí)間:2024/3/24 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AudioPlayer.js实现限制仅播放一条语音、多条语音顺序播放、自动播放(有限制)、调整语音条长度 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

AudioPlayer.js實(shí)現(xiàn)限制僅播放一條語音、多條語音順序播放、自動(dòng)播放(有限制)、調(diào)整語音條長(zhǎng)度

使用場(chǎng)景:語音直播,實(shí)現(xiàn)點(diǎn)擊播放某一條語音,暫停其他播放中的語音。播完一條語音,自動(dòng)播放下一條。當(dāng)接收到新語音,且沒有播放中的音頻,自動(dòng)播放這條語音

這里只貼出代碼片段,源碼和更改后的源碼可在這下載

僅播放一條語音

思路:當(dāng)點(diǎn)擊音頻播放按鈕時(shí),控制其他音頻暫停

1.將所有語音循環(huán)調(diào)用插件

$('#audio_'+audio_id).audioPlayer();

2.AudioPlayer.js中已經(jīng)有點(diǎn)擊事件,在此基礎(chǔ)上添加邏輯即可

更改后:

解釋:

當(dāng)初始化后,audio元素變成下圖所示了。可以通過改變class值來達(dá)到更改audio顯示狀態(tài)的目的


多條語音順序播放

思路:給audio標(biāo)簽添加監(jiān)聽事件,當(dāng)語音播完后,控制下一條語音播放

//連續(xù)播放音頻 function continuousPlayAudio() {let audios = $('audio');for (let i = 0; i < audios.length; i++) {let maxLength = i + 1;let nextAudio = audios[maxLength];audios[i].addEventListener('ended', function(event) {if (audios.length === maxLength) return false;$(nextAudio).parents(".audioplayer").removeClass("audioplayer-stopped");$(nextAudio).parents(".audioplayer").addClass("audioplayer-playing");nextAudio.play();}, false);} }

自動(dòng)播放

當(dāng)新插入語音,并且當(dāng)前沒有播放中的音頻,則播放新語音

function autoPlayAudio(audio_id, type) {$('#audio_'+ audio_id).audioPlayer();//初始化音頻if (type === 'new_audio' && !isHasPlayingAudio() ) {//新插入音頻并且沒有播放中的音頻$('#audio_'+ audio_id).parents(".audioplayer").removeClass("audioplayer-stopped")$('#audio_'+ audio_id).parents(".audioplayer").addClass("audioplayer-playing")$('#audio_'+ audio_id).next().attr('title', 'Pause').find('a').html('Pause');$('#audio_'+ audio_id).play();//如果監(jiān)聽到音頻由于一些原因沒有播放(ios無法自動(dòng)播放),則恢復(fù)圖標(biāo)樣式.if (audios[newestAudio].paused) {$('#audio_'+ audio_id).parents(".audioplayer").addClass("audioplayer-stopped")$('#audio_'+ audio_id).parents(".audioplayer").removeClass("audioplayer-playing")$('#audio_'+ audio_id).next().attr( 'title', 'Play').find( 'a' ).html( 'Play' );}} }

調(diào)整音頻長(zhǎng)度

思路:AudioPlayer有個(gè)loadeddata的事件監(jiān)聽,可以在這增加邏輯判斷,更改長(zhǎng)度屬性


AudioPlayer.js,一個(gè)響應(yīng)式且支持觸摸操作的jquery音頻插件

總結(jié)

以上是生活随笔為你收集整理的AudioPlayer.js实现限制仅播放一条语音、多条语音顺序播放、自动播放(有限制)、调整语音条长度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。