我试图以毫秒为单位获取音频文件(.wav)的持续时间。
我已经看到一些使用ffmpeg
的命令行,但是在我的Ubuntu版本上不推荐使用这个库(由avconv
重新提供),我没有找到任何内容。
我可以通过运行avconv -i <file>
获得持续时间,但我正在milliseconds
中查找结果。
答案 0 :(得分:0)
将其写成一个小的独立.sh
文件:
file="$1"
info=$(sox $file -n stat 2>&1)
full_length=$(echo "$info" | sed -n 's#^Length (seconds):[^0-9]*\([0-9.]*\).*$#\1#p')
seconds=$(echo $full_length | cut -f1 -d.)
if [ -n "$seconds" ]; then
milliseconds=$(echo $full_length | cut -f2 -d. | cut -c -3)
result=$(($seconds * 1000))
result=$(($result + $milliseconds))
echo "$result"
exit
fi
echo "0"
exit
称之为
new-file.sh test.wav
获得结果(持续时间以毫秒为单位)
1337
(您可以找到我在GitHub上使用的所有来源的完整代码)