我目前正在使用child_process
和命令行mplayer
在本地机器上播放音频,用于我的Node.JS应用程序。这样做可以实现播放,但不是最好的解决方案。我最大的问题是,从启动mplayer到音频开始播放需要500毫秒。
有更好的播放音频的方法吗?最好是压缩后的音频,但我会尽力而为。
我目前正在使用child_process
和命令行mplayer
在本地机器上播放音频,用于我的Node.JS应用程序。这样做可以实现播放,但不是最好的解决方案。我最大的问题是,从启动mplayer到音频开始播放需要500毫秒。
有更好的播放音频的方法吗?最好是压缩后的音频,但我会尽力而为。
介绍一下,audic
。它不使用任何本地依赖项,因此不会像上面的答案那样出现错误。
请注意:
import Audic from 'audic';
const audic = new Audic('audio.mp3');
await audic.play();
audic.addEventListener('ended', () => {
audic.destroy();
});
更简单地说:
import {playAudioFile} from 'audic';
await playAudioFile('audio.mp3');
audio.duration
. - Richie Bendall我找到的最简单方法(在Mac OS上)是使用
exec('afplay whatever.mp3', audioEndCallback)
const { exec } = require('child_process');
。 - mixdev查看 sound-play,它是一个简单的解决方案,在Windows和MacOS上不需要使用外部播放器:
const sound = require('sound-play')
sound.play('music.mp3')
免责声明:本文作者为该软件包的作者。
play-sound
模块:npm install play-sound --save
var player = require('play-sound')(opts = {})
player.play('./music/somebody20.flac', function (err) {
if (err) throw err;
console.log("Audio finished");
});
该库提供了播放列表上音频的解码和编码。它旨在用作音乐播放器应用程序的后端,但足够通用以用作任何音频处理实用程序的后端。
声明:我编写了这个库,它是免费、开源的,并且与任何产品、服务或公司都没有关联。
npm install play-sound
import path from 'path';
const __dirname = path.resolve();
import sound from 'sound-play';
const filePath = path.join(__dirname, "file.mp3");
sound.play(filePath);
import * as path from 'path';
import * as sound from 'sound-play';
sound.play(path.join(path.resolve(), "notify.mp3"));