<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>播放語音的demo</title>
</head>
<body>
<div class="lib-audio-main">點擊播放語音</div>
<!--設置一個清除語音的標籤-->
<div class="audio-container" style="display: none !important;"></div>
</body>
</html>
<script>
var audioContainer = $('.audio-container');
/* 點擊播放 */
$(document).on('click', '.lib-audio-main',
function() {
var icon = $(this).find('.lib-click-listen');
var isPlayed = icon.hasClass('playing-audio');
// 停止其他記錄音頻播放
stopAudio();
// 如果已經播放則return 不繼續操作
if (isPlayed) return;
//獲取音頻的資源路徑
var url = icon.attr('data-audio-source');
//添加播放是的演示 移除停止的樣式
icon.addClass('playing-audio').removeClass('stop-playing');
//調用方法播放音頻
createAudioElement(url);
});
// 重新創建 audio 標籤來播放選擇的音頻
function createAudioElement(src) {
//使用audio標籤 來播放我們想要播放的音頻
var audioElement = $('<audio src="' + src + '"></audio>');
$('.audio-container').empty().append(audioElement);
audioElement[0].play();
//音頻結束停止播放
audioElement[0].addEventListener('ended',
function() {
stopAudio();
});
}
// 音頻視圖全部設爲靜態
function stopAudio() {
// 清掉 audio 標籤
var audioElement = audioContainer.children('audio');
if (audioElement.length !== 0) {
audioElement[0].pause();
audioContainer.empty();
}
var playingHistory = $('.lib-click-listen.playing-audio');
playingHistory.removeClass('playing-audio').addClass('stop-playing');
// 會話框內記錄
var playingRecord = $('.audio-content.playing-audio');
playingRecord.removeClass('playing-audio');
// 被解答語音
var explainAudioTarget = $('.explain-audio-target.playing-audio');
explainAudioTarget.removeClass('playing-audio');
}
</script>
使用h5 標籤播放語音
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.