国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

使用JavaScript如何實現音頻播放功能

來源:懂視網 責編:小采 時間:2020-11-27 19:37:26
文檔

使用JavaScript如何實現音頻播放功能

使用JavaScript如何實現音頻播放功能:本文給大家?guī)砹嘶趈s實現簡單的音頻播放功能,數據是由后臺提供的,具體實例代碼大家參考下本文現效果如下:由于我這邊不需要其他按鈕,就沒寫數據是由后臺提供,在這做了個小列子后臺代碼public ActionResult MusicPlayer(int musicId=0)
推薦度:
導讀使用JavaScript如何實現音頻播放功能:本文給大家?guī)砹嘶趈s實現簡單的音頻播放功能,數據是由后臺提供的,具體實例代碼大家參考下本文現效果如下:由于我這邊不需要其他按鈕,就沒寫數據是由后臺提供,在這做了個小列子后臺代碼public ActionResult MusicPlayer(int musicId=0)
本文給大家?guī)砹嘶趈s實現簡單的音頻播放功能,數據是由后臺提供的,具體實例代碼大家參考下本文

現效果如下:

由于我這邊不需要其他按鈕,就沒寫

數據是由后臺提供,在這做了個小列子

后臺代碼

public ActionResult MusicPlayer(int musicId=0) {
 MusicPlayerModel model = new MusicPlayerModel();
 switch (musicId)
 {
 default:
 model.MusicName = "Believe-動畫《海賊王》";
 model.CoverImg = "/Content/Music/Believe-cover.jpg";
 model.FileUrl = "/Content/Music/Believe.mp3";
 model.MusicStartSecond = 0;
 model.MusicEndSecond = 227;
 break;
 case 1:
 model.MusicName = "夢回還-動畫《狐妖小紅娘》";
 model.CoverImg = "/Content/Music/夢回還-cover.jpg";
 model.FileUrl = "/Content/Music/夢回還.mp3";
 model.MusicStartSecond = 0;
 model.MusicEndSecond = 250;
 break;
 }
 return View(model);
 }

頁面代碼

@using FunctionTest.Web.Areas.Function.Models;
@model MusicPlayerModel
@{
 ViewBag.Title = "MusicPlayer";
 Layout = "~/Areas/Function/Views/Shared/_FunctionLayout.cshtml";
}
<link href="~/Assets/Function/MusicPlayer/musicPlayer.css" rel="external nofollow" rel="stylesheet" />
<script src="~/Assets/Function/MusicPlayer/musicPlayer.js"></script>
<p class="img-wapper">
 <img src="@Model.CoverImg" />
</p>
<p id="player-wapper" class="player-wapper">
 <p class="cover-wapper">
 <img src="@Model.CoverImg" />
 <p class="play">
 <i></i>
 </p>
 </p>
 <p class="info-wapper">
 <p class="title">@Model.MusicName</p>
 <audio id="audio-player" src="@Model.FileUrl" src="@Model.FileUrl" data-start="@Model.MusicStartSecond" data-end="@Model.MusicEndSecond" ></audio>
 <p class="audio-progress">
 <span id="start-time" class="start-time">00:00</span>
 <p id="progress" class="progress">
 <span id="player-progress-bar" class="bar">
 <i></i>
 </span>
 </p>
 <span id="end-time" class="end-time">00:00</span>
 </p>
 </p>
</p>

Js

;$(function () {
 var $playerWapper = $("#player-wapper"),
 $audioPlay = $("#audio-player"),
 startSecond = $audioPlay.data("start"),//默認開始時間(秒)
 endSecond = $audioPlay.data("end"),//默認結束時間(秒)
 playSecond = startSecond,//已播放時間(秒)
 surplusSecond = endSecond,//剩余時間(秒)
 audoiTimer = null;
 LoadingTime();
 Playing();
 //通過點擊進度條實現播放跳轉
 $(".progress").click(function (e) {
 //獲取當前鼠標相對進度條的X坐標
 var positionX = e.pageX - $(this).offset().left; 
 var width = $(this).width();
 //進度條的X坐標/進度條寬度獲取播放占比
 var progess = (positionX / width).toFixed(2);
 $("#player-progress-bar").css("width", progess);
 //播放占比*總時間獲取已播放時間
 playSecond = parseInt(progess * endSecond);
 surplusSecond = endSecond - playSecond;
 //播放器跳轉/跟新播放時間
 $audioPlay[0].currentTime = playSecond;
 LoadingTime();
 })
 //播放按鈕點擊事件
 $(".play").click(function () {
 if ($playerWapper.hasClass("playing")) {
 Pause();
 }
 else {
 Playing();
 }
 })
 //開始/繼續(xù)播放
 function Playing() {
 $playerWapper.addClass("playing");
 $playerWapper.removeClass("pause");
 $audioPlay[0].play();
 audoiTimer = setInterval(function () {
 playSecond++;
 surplusSecond--;
 LoadingTime();
 if (surplusSecond <= 0) {
 playSecond = startSecond;
 surplusSecond = endSecond;
 Pause();
 }
 }, 1000); //每個1秒執(zhí)行一次
 }
 //暫停播放
 function Pause() {
 $playerWapper.removeClass("playing");
 $playerWapper.addClass("pause");
 window.clearInterval(audoiTimer);
 $audioPlay[0].pause();
 }
 //加載時間和進度條
 function LoadingTime() {
 $("#start-time").html(secondToTime(playSecond));
 $("#end-time").html(secondToTime(surplusSecond));
 $("#player-progress-bar").css("width", Percentage(playSecond, endSecond));
 }
 //計算百分比
 function Percentage(second1, second2) {
 return (Math.round(second1 / second2 * 10000) / 100+ "%");// 小數點后兩位百分比
 }
 //時間轉換,將秒轉為00:00:00格式
 function secondToTime(s) {
 var t;
 if (s > -1) {
 var hour = Math.floor(s / 3600);
 var min = Math.floor(s / 60) % 60;
 var sec = s % 60;
 if (hour < 10) {
 t = '0' + hour + ":";
 } else {
 t = hour + ":";
 }
 if (min < 10) { t += "0"; }
 t += min + ":";
 if (sec < 10) { t += "0"; }
 t += sec;
 }
 return t;
 }
})

上面是我整理給大家的,希望今后會對大家有幫助。

相關文章:

詳細解讀Vue如何配置打包工具

使用Parcel如何打包

詳細解答vue的變化對組件有什么影響?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

使用JavaScript如何實現音頻播放功能

使用JavaScript如何實現音頻播放功能:本文給大家?guī)砹嘶趈s實現簡單的音頻播放功能,數據是由后臺提供的,具體實例代碼大家參考下本文現效果如下:由于我這邊不需要其他按鈕,就沒寫數據是由后臺提供,在這做了個小列子后臺代碼public ActionResult MusicPlayer(int musicId=0)
推薦度:
標簽: 功能 音樂 播放
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 中文字幕第7页 | 精品一区二区三区在线观看 | 免费在线观看一区 | 国自产拍亚洲免费视频 | 青青草国产免费国产是公开 | 国产亚洲精品成人婷婷久久小说 | 国产精品成人一区二区 | 欧美成人伊人久久综合网 | 在线播放一区二区三区 | 精品日韩在线观看 | 欧美精品福利 | 国产精品成人免费 | 成人欧美一区二区三区视频 | 国产呦系列 欧美呦 日韩呦 | 伊人婷婷 | 九九九国产 | 欧美一区二区在线播放 | 亚洲国产成人久久综合一区 | 一区二区三区欧美视频 | 国产精品va一级二级三级 | 久久国产热 | 国产在线高清不卡免费播放 | 国产成人综合久久精品红 | 亚洲四色 | 一区二区在线观看高清 | 国产成人精品久久亚洲高清不卡 | 国产精选在线观看 | 欧美操 | 午夜日韩久久影院 | 青青草国产免费国产是公开 | 成人欧美一区二区三区视频 | 性色a v 一区 | 国产精品高清一区二区三区不卡 | 久国产精品视频 | 欧美色爽 | 欧美日韩另类在线 | 亚洲小视频在线 | 欧美com| 可以看的毛片 | 久久精品国产精品亚洲毛片 | 国产一区二区视频在线 |