Skip to content

linux 播放音频#

在Linux系统中,aplay 是一个用于播放音频文件的命令行工具。要循环播放音频文件并设置音量,可以使用以下方法:

方法一:使用 aplay 循环播放#

aplay 本身不支持直接循环播放音频文件。可以通过使用 while 循环来实现。

示例脚本#

创建一个脚本,例如 loop_play.sh

#!/bin/bash

FILE="your_audio_file.wav"
VOLUME=50 # 百分比

# 设置音量
amixer set 'Master' "$VOLUME%"

# 循环播放
while true; do
    aplay "$FILE"
done

运行脚本#

  1. 确保脚本有执行权限:

    chmod +x loop_play.sh
    
  2. 运行脚本:

    ./loop_play.sh
    

方法二:使用 ffmpeg 实现循环播放和音量控制#

ffmpeg 是一个强大的多媒体处理工具,可以用来处理音频和视频文件。可以使用 ffmpeg 来实现循环播放并设置音量。

安装 ffmpeg#

如果未安装 ffmpeg,可以使用以下命令安装:

sudo apt-get update
sudo apt-get install ffmpeg

使用 ffmpeg 循环播放和设置音量#

运行以下命令:

ffmpeg -stream_loop -1 -i your_audio_file.wav -filter:a "volume=0.5" -f alsa default
  • -stream_loop -1:表示无限循环播放。
  • -filter:a "volume=0.5":设置音量为50%。1.0表示100%,0.5表示50%。

设置音量#

amixer set 'Master' 50%

此命令将主音量设置为50%。可以在脚本中包含此命令以在循环播放之前设置音量。

综合示例脚本#

将所有步骤组合在一个脚本中:

#!/bin/bash

FILE="your_audio_file.wav"
VOLUME=50 # 百分比

# 设置音量
amixer set 'Master' "$VOLUME%"

# 循环播放
while true; do
    aplay "$FILE"
done

保存脚本为 loop_play.sh,然后执行以下命令来运行脚本:

chmod +x loop_play.sh
./loop_play.sh

这个脚本会设置音量并循环播放指定的音频文件。根据需求,可以选择使用 aplayffmpegmpg123 来实现循环播放和音量控制。