国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue實(shí)現(xiàn)自定義音頻播放器組件

這篇具有很好參考價(jià)值的文章主要介紹了Vue實(shí)現(xiàn)自定義音頻播放器組件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

效果圖

vue音樂(lè)播放器組件,vue.js,音視頻,javascript

components

template
<div class='daudio'>
        <audio ref="audio" @timeupdate="updateProgress" @ended="end" @loadedmetadata="loadedmetadata" controls
            style="display: none" src="../assets/audio/y837.mp3" preload="metadata">
            您的瀏覽器不支持音頻播放
        </audio>
        <div class="audioBox">
            <div class="audioInfo">
                <h3>2022123434.mp3(3.75KB)</h3>
                <p id="time">{{ duration }}/{{ current }}</p>
            </div>
            <img ref="control" v-if="!isPlay" src="../assets/images/paly.png" alt="" @click="audioPlay(true)"
                class="audioControls" />
            <img ref="control" v-else src="../assets/images/suspend.png" alt="" @click="audioPlay(false)"
                class="audioControls" />
        </div>
    </div>
javascript
export default {
    name: "AudioPlayer",
    data() {
        return {
            audio: null,
            contorl: null,
            contorlDot: null,
            contorlProgress: null,
            contorlProgressBox: null,
            current: "00:00",
            duration: "00:00",
            isPlay: false
        };
    },
    props: {
    },
    created() {},
    mounted() {
        this.init()
    },
    methods: {
        init() {
            this.audio = this.$refs.audio;
            this.contorl = this.$refs.contorl;
        },
        // 時(shí)分秒轉(zhuǎn)換
        transTime(value) {
            let that = this;
            var time = "";
            var h = parseInt(`${value / 3600}`);
            value %= 3600;
            var m = parseInt(`${value / 60}`);
            var s = parseInt(`${value % 60}`);
            if (h > 0) {
                time = that.formatTime(h + ":" + m + ":" + s);
            } else {
                time = that.formatTime(m + ":" + s);
            }

            return time;
        },
        // 補(bǔ)零
        formatTime(value) {
            var time = "";
            var s = value.split(":");
            var i = 0;
            for (; i < s.length - 1; i++) {
                time += s[i].length === 1 ? "0" + s[i] : s[i];
                time += ":";
            }
            time += s[i].length === 1 ? "0" + s[i] : s[i];

            return time;
        },
        // 音頻播放暫停
        audioPlay(status) {
            if (status) {
                this.audio.play();
            } else {
                this.audio.pause();
            }
            this.isPlay = status
        },
        // 更新進(jìn)度條與當(dāng)前播放時(shí)間
        updateProgress(e) {
            this.current = this.transTime(e.target.currentTime);
        },
        // 音頻結(jié)束
        end(e) {
            this.isPlay = false
        },
        loadedmetadata(e) {
            this.duration = this.transTime(e.target.duration);
        }
    },
    //如果頁(yè)面有keep-alive緩存功能,這個(gè)函數(shù)會(huì)觸發(fā)
    activated() { },
};
</script>
less
.audioBox {
    padding: 8px 16px;
    background: #eaebed;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    width: 311px;
    height: 54px;
    box-sizing: border-box;
}

.audioControls {
    width: 22px;
    height: 22px;
}

.audioInfo {
    h3 {
        font-family: PingFangSC-Regular;
        font-size: 14px;
        color: #333333;
        letter-spacing: 0.2px;
        text-align: justify;
        font-weight: 400;
        margin-bottom: 4px;
    }

    p {
        font-family: PingFangSC-Regular;
        font-size: 12px;
        color: #999999;
        letter-spacing: 0.17px;
        text-align: justify;
        font-weight: 400;
    }
}

引入

import AudioPlayer from "../../components/AudioPlayer.vue";
components: { AudioPlayer },
<AudioPlayer fileUrl="../assets/audio/y837.mp3"></AudioPlayer>

文檔參考
關(guān)于 Audio 自定義樣式
H5 audio 音頻標(biāo)簽自定義樣式修改以及添加播放控制事件文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-519509.html

到了這里,關(guān)于Vue實(shí)現(xiàn)自定義音頻播放器組件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python實(shí)現(xiàn)本地視頻/音頻播放器

    Python實(shí)現(xiàn)本地視頻/音頻播放器

    在Python中,有幾個(gè)庫(kù)可以用于視頻播放,但是沒(méi)有一個(gè)庫(kù)是完美的,因?yàn)樗鼈兛赡芤蕾囉谕獠寇浖蛴幸恍┫拗啤?先看介紹用Python實(shí)現(xiàn)本地視頻播放器,再介紹用Python實(shí)現(xiàn)本地音樂(lè)播放器。 Python 實(shí)現(xiàn)本地視頻播放器 與HTML5+JavaScript實(shí)現(xiàn)本地視頻播放器相比,使用Python實(shí)現(xiàn)比

    2024年04月26日
    瀏覽(15)
  • Audio API 實(shí)現(xiàn)音頻播放器

    Audio API 實(shí)現(xiàn)音頻播放器

    市面上實(shí)現(xiàn)音頻播放器的庫(kù)有很多,比如wavesurfer.js、howler.js等等,但是都不支持大音頻文件處理,100多M的文件就有可能導(dǎo)致程序崩潰??傊臀夷壳暗男枨蟛惶?,所以打算自己實(shí)現(xiàn)一個(gè)音頻播放器,這樣不管什么需求 在技術(shù)上都可控。下面我們簡(jiǎn)單介紹下 wavesurferJs 、

    2024年02月10日
    瀏覽(18)
  • 基于Vue的音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn)(論文+源碼)_kaic

    基于Vue的音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn)(論文+源碼)_kaic

    摘 ?要 隨著前端技術(shù)的發(fā)展和迭代,前端開(kāi)發(fā)工程師在java的MVC框架基礎(chǔ)上,推出了前端的MVC,MVP,MVVM等架構(gòu)模式,利用目前主流的前端開(kāi)發(fā)技術(shù),如React、AngularJS等,我們可以很輕松的構(gòu)建起一個(gè)不需要服務(wù)器端渲染就可以展示的WebApp,同時(shí)這類框架也都提供了前端路由功

    2024年02月07日
    瀏覽(26)
  • springboot + vue3實(shí)現(xiàn)視頻播放Demo(video.js & Vue3-video-play視頻播放器)

    springboot + vue3實(shí)現(xiàn)視頻播放Demo(video.js & Vue3-video-play視頻播放器)

    ffmpeg官網(wǎng) 長(zhǎng)時(shí)長(zhǎng)視頻java存儲(chǔ)及vue播放解決方法 【 攻城略地 】vue3 + video.js播放m3u8視頻流格式 Vue3-video-play組件官網(wǎng) Vue3視頻播放器組件Vue3-video-play入門教程 vue-video-player播放m3u8格式的視頻 Spring boot視頻播放(解決MP4大文件無(wú)法播放),整合ffmpeg,用m3u8切片播放。 Java獲取MP4視頻文

    2024年02月07日
    瀏覽(33)
  • Vue.js 學(xué)習(xí)14 集成H265web.js播放器實(shí)現(xiàn)webpack自動(dòng)化構(gòu)建

    Vue.js 學(xué)習(xí)14 集成H265web.js播放器實(shí)現(xiàn)webpack自動(dòng)化構(gòu)建

    H265web.js 是一個(gè)用于在 Web 瀏覽器中播放 H.265 視頻的 JavaScript 播放器。它支持在瀏覽器中直接解碼 H.265 編碼的視頻流,提供了高效的視頻播放體驗(yàn)。在 Element UI 項(xiàng)目中集成 H265web.js 可以讓我們輕松實(shí)現(xiàn) H.265 視頻的播放功能。 H265web.js 開(kāi)源地址: https://github.com/numberwolf/h265web

    2024年03月14日
    瀏覽(24)
  • uni-app Vue3實(shí)現(xiàn)一個(gè)酷炫的多功能音樂(lè)播放器支持微信小程序后臺(tái)播放

    uni-app Vue3實(shí)現(xiàn)一個(gè)酷炫的多功能音樂(lè)播放器支持微信小程序后臺(tái)播放

    本文存在多張gif演示圖,建議在 wifi 環(huán)境下閱讀?? 最近在做網(wǎng)易云音樂(lè)微信小程序開(kāi)源項(xiàng)目的時(shí)候,關(guān)于 播放器功能 參考了一些成熟的微信小程序,如 網(wǎng)易云音樂(lè)小程序 和 QQ音樂(lè)小程序 ,但是發(fā)現(xiàn)這些 小程序端 的播放器相對(duì)于 APP端 來(lái)說(shuō)較簡(jiǎn)單,只支持一些基礎(chǔ)功能,

    2024年01月24日
    瀏覽(104)
  • vue引用DPlayer播放器

    vue引用DPlayer播放器

    先安裝DPlayer 寫一個(gè)dplayer組件方便使用 其他詳細(xì)控件事件請(qǐng)看官方文檔:指南 | DPlayer 需要播放視頻頁(yè)面引用dplayer.vue組件 就可以啦! 20220815補(bǔ)充: dplayer有一個(gè)網(wǎng)頁(yè)全屏(webfullscreen)的按鈕(如下圖),跟全屏作用差不多,但是?。?! 一旦按了這個(gè)按鈕,點(diǎn)擊瀏覽器的返回按鈕

    2024年02月12日
    瀏覽(17)
  • html+css+js本地音樂(lè)播放器,實(shí)現(xiàn)可視化音頻頻譜

    html+css+js本地音樂(lè)播放器,實(shí)現(xiàn)可視化音頻頻譜

    html+css+js本地音樂(lè)播放器,實(shí)現(xiàn)可視化音頻頻譜 之前用swing寫了個(gè)本地音樂(lè)播放器(如下圖),但是效果一言難盡,界面丑,功能bug也多,唉 所以后面又重新用html寫了個(gè),界面樣式和功能方面,比swing寫的好看、完善多了。 導(dǎo)入音樂(lè)(已完成) 展示列表(已完成) 列表雙擊

    2024年02月09日
    瀏覽(28)
  • 【Vue】播放flv格式視頻(flv.js視頻播放器)

    【Vue】播放flv格式視頻(flv.js視頻播放器)

    ?圖片來(lái)源:HTTP-FLV直播初探?? github地址:GitHub - bilibili/flv.js: HTML5 FLV Player npm install flv.js --save 封裝一個(gè)組件flvVideo hasAudio設(shè)置為true就不展示。。。不知道為啥~ home.vue 參考:Vue 中使用flv.js視頻播放器

    2024年02月14日
    瀏覽(33)
  • vue3使用dplayer視頻播放器

    https://dplayer.diygod.dev/zh/guide.html#special-thanks 官方文檔地址 首先去dplayer官網(wǎng)生態(tài)里把彈幕后臺(tái)下載下來(lái) 然后閱讀B站up的項(xiàng)目啟動(dòng)文章 注意get文件的返回字段data不用改成danmaku

    2024年02月12日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包