我正在使用 Omxplayer 播放存储为 .MP3 的声音文件
我面临的问题是,在持续时间 > 1 秒但 < 10 的声音文件上,文件的结尾(大约一秒)似乎突然被切断,就好像曲目已经完成一样。
我不确定是什么原因导致了这个问题,因为 Omxplayer 没有抛出任何错误,只是剪掉了它通常的“祝你有美好的一天”
这是在 Pi 上的 Raspbian 上。
我最终使用的解决方法是将我的 .mp3 文件转换为 .wav,从而阻止它们被切断。转换很容易,而且它可能会有所帮助,因为 .wav 似乎更容易被各种工具所接受,例如aplay
.
我遍历了它们中的每一个并使用该工具lame
进行转换
sudo apt-get install lame
lame --decode /path/to/file.mp3 /new/path/to/file.wav
由于我碰巧在 Node 中遇到了这个问题,我将分享完整的解决方案,将目录中的所有 .mp3 文件循环转换为 .wav。这假设您有一个仅包含 mp3 文件的文件夹,并且不检查以强制执行:
const fs = require("fs");
const { exec } = require("child_process");
const files = fs.readdirSync("./audio_mp3/");
files.forEach((file) => {
let newFile = file.replace('.mp3', '.wav')
exec(`lame --decode ./audio_mp3/${file} ./audio_wav/${newFile}`);
console.log(`Created ${newFile} in folder ./audio_wav/`);
})