小元
博客
详情文字在这里缓缓展开
静候你翻开这一页

静默播放音频

基于Node实现后台静默播放音频。

静默播放音频


   前言:

       因业务需要,要求在电脑上实现播放音频,要实现这一点并不难也无技术可言,但甲方要求无感播放,即在播报音频时不能弹出媒体播放界面也不能打开第三方软件,要安安静静的打枪的不要,这不是为难我一个前端吗,在网页上怎么可能实现呢?思来想去就决定取巧用Node写一个后端,暴露一个接口,在网页上调用该接口时实现音频播报。


   实现:

       在几番尝试过后最终选定 sound-play 其它库要嘛无法播放要嘛就是在播放时会唤醒并打开系统媒体播放器或第三方音乐播放器,无法完成静默播放的需求,废话不多说直接上代码。

       注意事项:

           1、需要安装插件sound-play。

           2、需要再项目根目录下创建一个mp3文件夹用于存放所有音频文件。

           3、音频文件类型最好是wav,其它格式暂未尝试可自行尝试。

const sound = require("sound-play");
const express = require('express');
const app = express();
const path = require('path');
const port = 6565;


app.get('/playAudio', async (req, res) => {
  try {
    const { ordinal } = req.query;
    if (!ordinal) {
      res.status(500).json({ error: 'ordinal is missing!' });
      return;
    }
    // 音频文件目录所在,我把音频文件都放在了项目的mp3文件内,ordinal为音频文件名

    const audioPath = path.join(__dirname, 'mp3', `${ordinal}.wav`);

    sound.play(audioPath).then(() => {
      res.json({code: 0});
    }).catch((err) => {
      res.json({code: 1, err: "请检查该音频文件是否存在!"});
    });
  } catch (error) {
    res.status(500).json({ error: 'Unable to read images directory' });
  }
})

app.listen(port, () => {
  console.log(`Server running at http://127.0.0.1:${port}`);
});


渝ICP备2024031078号-1
本网站一切内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
如无意中侵犯了企业或个人的知识产权等,请及时通过电子邮件(1102905617@qq.com)告知我,本网站将会给予删除。
最新公告
😊访客你好,很高兴你的到来,本博客仍在建设中,还有些许功能尚在开发中,最后祝你在此能有所收获。
💥小元博客第三代自2025年9月上线以来,2026/08/09日迎来了它的第三次更新本次更新内容如下:
1. 文章详情页样式变更,由原来的弹窗改为单独的页面。
2. 使用Nuxt对项目进行了SEO优化,优化了搜索引擎的抓取和索引。
3. 对验签进行了优化,降低了请求被误触发拦截的概率。
4. 移动端也正在稳步推进中,在不久的将来会与大家见面。
5. 修复了首页黄历节日不显示的问题,以及其它bug的修复。