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

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

  •  
  •   Ketter · 2019-10-10 09:20:10 +08:00 · 2857 次点击
    这是一个创建于 1873 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    大兄弟,不是通过隐藏 /显示 audio 来控制是不是播放音乐的
    你也可以不用先在 DOM 里面放 <audio> 标签,直接用 js 实时创建一个
    https://blog.csdn.net/u014520745/article/details/52412427
    cst4you
        8
    cst4you  
       2019-10-10 13:23:48 +08:00
    droiz
        9
    droiz  
       2019-10-10 13:43:54 +08:00 via iPhone
    直接 audioapi
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2479 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 15:51 · PVG 23:51 · LAX 07:51 · JFK 10:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.