<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        使用JavaScript如何實現(xiàn)音頻播放功能

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 19:37:26
        文檔

        使用JavaScript如何實現(xiàn)音頻播放功能

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

        現(xiàn)效果如下:

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

        數(shù)據(jù)是由后臺提供,在這做了個小列子

        后臺代碼

        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"),//默認結(jié)束時間(秒)
         playSecond = startSecond,//已播放時間(秒)
         surplusSecond = endSecond,//剩余時間(秒)
         audoiTimer = null;
         LoadingTime();
         Playing();
         //通過點擊進度條實現(xiàn)播放跳轉(zhuǎn)
         $(".progress").click(function (e) {
         //獲取當(dāng)前鼠標相對進度條的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;
         //播放器跳轉(zhuǎn)/跟新播放時間
         $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+ "%");// 小數(shù)點后兩位百分比
         }
         //時間轉(zhuǎn)換,將秒轉(zhuǎn)為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;
         }
        })

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

        相關(guān)文章:

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

        使用Parcel如何打包

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

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

        文檔

        使用JavaScript如何實現(xiàn)音頻播放功能

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

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 免费国产成人18在线观看| a毛片成人免费全部播放| 天天影院成人免费观看| 91亚洲精品第一综合不卡播放| 免费国产成人18在线观看| 亚洲三级电影网址| 99ee6热久久免费精品6| 亚洲国产午夜精品理论片| 99在线视频免费观看视频| 亚洲综合欧美色五月俺也去| 日韩毛片免费在线观看| 黄色大片免费网站| 国产aⅴ无码专区亚洲av麻豆| jizz免费一区二区三区| 亚洲第一精品在线视频| 亚洲视频在线观看免费视频| 久久精品国产亚洲AV久| 国产成人免费片在线观看| 国产精品免费αv视频| 亚洲一区二区三区高清| 无码国产精品一区二区免费虚拟VR | 亚洲中文字幕在线乱码| 久久久久久成人毛片免费看| 亚洲男人电影天堂| 日本高清免费中文字幕不卡| 国产特黄一级一片免费| 亚洲嫩模在线观看| 午夜免费不卡毛片完整版| 七次郎成人免费线路视频| 亚洲爆乳无码一区二区三区| 97碰公开在线观看免费视频| 国产精品国产亚洲区艳妇糸列短篇| 国产亚洲精品影视在线产品| 69av免费观看| 国产亚洲精品美女久久久久| 久久91亚洲精品中文字幕| 免费无码黄动漫在线观看| 97在线视频免费公开视频| 亚洲一区二区久久| 亚洲自偷自偷偷色无码中文| 色妞WWW精品免费视频|