首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

vue.js 里可以页面上不创建 dom 对象,而直接在 js 里直接播放音频吗?

  •  
  •   Ketter · 10 天前 · 1098 次点击

    具体业务需求:就 PC 点击一个提交按钮以后出现音效

    现在是直接在页面用 v-show 创建一个隐藏的<audio>,然后在 method 里添加控制 v-if 的逻辑来播放音效</audio>

    9 回复  |  直到 2019-10-10 13:43:54 +08:00
        1
    ochatokori   10 天前 via Android   ♥ 1
    这跟 vue 不 vue 没有关系,你甚至可以直接 new 一个 Audio 对象播放音频

    audio 有相应的 api 暂停和播放,不需要用 v-if 控制
        2
    zhw2590582   10 天前 via iPhone   ♥ 1
    可以用 AudioContext,用 ajax 获取音频数据,不用创建 dom 也可以播放音频。
        3
    belin520   10 天前   ♥ 2
    这是 JavaScript 的知识,不是 Vue or React
        4
    Biwood   10 天前 via Android   ♥ 2
    严格来说这属于 Web API 的范畴,既不是 JavaScript 也不是 DOM

    https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Audio_API/Basic_concepts_behind_Web_Audio_API
        5
    Ketter   10 天前
    每个大兄弟的回答我都认真看了,感谢!基础不牢地动山摇啊(捂脸)
        6
    whypool   10 天前
    这是 BOM,不是 DOM
        7
    belin520   10 天前
    @Biwood #4 他知道 audio 这个标签,是想要进行动态控制

    大兄弟,不是通过隐藏 /显示 audio 来控制是不是播放音乐的
    你也可以不用先在 DOM 里面放 <audio> 标签,直接用 js 实时创建一个
    https://blog.csdn.net/u014520745/article/details/52412427
        8
    cst4you   10 天前
        9
    droiz   10 天前 via iPhone
    直接 audioapi
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1701 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 16:18 · PVG 00:18 · LAX 09:18 · JFK 12:18
    ♥ Do have faith in what you're doing.