• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Ketter
V2EX  ›  程序员

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

  •  
  •   Ketter · Oct 10, 2019 · 3432 views
    This topic created in 2408 days ago, the information mentioned may be changed or developed.

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

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

    9 replies    2019-10-10 13:43:54 +08:00
    ochatokori
        1
    ochatokori  
       Oct 10, 2019 via Android   ❤️ 1
    这跟 vue 不 vue 没有关系,你甚至可以直接 new 一个 Audio 对象播放音频

    audio 有相应的 api 暂停和播放,不需要用 v-if 控制
    zhw2590582
        2
    zhw2590582  
       Oct 10, 2019 via iPhone   ❤️ 1
    可以用 AudioContext,用 ajax 获取音频数据,不用创建 dom 也可以播放音频。
    icanfork
        3
    icanfork  
       Oct 10, 2019   ❤️ 2
    这是 JavaScript 的知识,不是 Vue or React
    Biwood
        4
    Biwood  
       Oct 10, 2019 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
    Ketter
        5
    Ketter  
    OP
       Oct 10, 2019
    每个大兄弟的回答我都认真看了,感谢!基础不牢地动山摇啊(捂脸)
    whypool
        6
    whypool  
       Oct 10, 2019
    这是 BOM,不是 DOM
    icanfork
        7
    icanfork  
       Oct 10, 2019
    @Biwood #4 他知道 audio 这个标签,是想要进行动态控制

    大兄弟,不是通过隐藏 /显示 audio 来控制是不是播放音乐的
    你也可以不用先在 DOM 里面放 <audio> 标签,直接用 js 实时创建一个
    https://blog.csdn.net/u014520745/article/details/52412427
    cst4you
        8
    cst4you  
       Oct 10, 2019
    droiz
        9
    droiz  
       Oct 10, 2019 via iPhone
    直接 audioapi
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   918 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 20:44 · PVG 04:44 · LAX 13:44 · JFK 16:44
    ♥ Do have faith in what you're doing.