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

2019-10-10 09:20:10 +08:00
 Ketter

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

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

2846 次点击
所在节点    程序员
9 条回复
ochatokori
2019-10-10 09:25:32 +08:00
这跟 vue 不 vue 没有关系,你甚至可以直接 new 一个 Audio 对象播放音频

audio 有相应的 api 暂停和播放,不需要用 v-if 控制
zhw2590582
2019-10-10 09:26:14 +08:00
可以用 AudioContext,用 ajax 获取音频数据,不用创建 dom 也可以播放音频。
belin520
2019-10-10 09:29:16 +08:00
这是 JavaScript 的知识,不是 Vue or React
Biwood
2019-10-10 09:36:22 +08:00
严格来说这属于 Web API 的范畴,既不是 JavaScript 也不是 DOM

https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Audio_API/Basic_concepts_behind_Web_Audio_API
Ketter
2019-10-10 10:31:22 +08:00
每个大兄弟的回答我都认真看了,感谢!基础不牢地动山摇啊(捂脸)
whypool
2019-10-10 10:34:05 +08:00
这是 BOM,不是 DOM
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
2019-10-10 13:23:48 +08:00
droiz
2019-10-10 13:43:54 +08:00
直接 audioapi

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/607708

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX