ubuntu python播放MP3,wav音频和录音

一.利用pygame(略显麻烦,有时候播放不太正常)

1.安装依赖库

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygame==2.5.2

2.代码

import pygame

def play_audio(audio_file):
  pygame.mixer.init() # 初始化
  pygame.mixer.music.load(audio_file) # 加载文件
  pygame.mixer.music.play() # 播放
  while pygame.mixer.music.get_busy(): # 等待播放完毕
      pygame.time.Clock().tick(10)

if __name__ == '__main__':
  audio_file = 'path/to/your/audio/file.mp3' # mp3的路径
  play_audio(audio_file)

二.利用mpg123(简洁方便,但仅争对mp3)

1.安装依赖库

sudo apt-get install mpg123  # 安装环境

2.代码

import os
os.system('mpg123 /home/pi/Desktop/music/爱你.mp3') # 这里MP3文件路径
# 注意:只有播放完音频才往后执行。

三.利用sox(简单方便,支持的文件格式多)

1.安装依赖库

sudo apt-get install sox  # 安装环境

2.代码

import os
os.system('play /home/pi/Desktop/music/爱你.mp3') # 这里MP3文件路径
# 注意:只有播放完音频才往后执行。

四.语音识别(录音)

(1)查看录音设备

arecord -l

在这里插入图片描述

(2)定时录音命令

arecord -D "plughw:2,0" -f S16_LE -r 16000 -d 5 question1.wav
# 参数介绍
-D "plughw:2,0"   2,0 表示card2  device 0
-f S16_LE 指定录音格式
-r 16000 指定了采样率,单位时Hz
-d 指定录音的时长,单位时秒
question1.wav 文件名称及格式

(3)不定时录音命令

arecord -D "plughw:2,0" -f S16_LE -r 16000  question1.wav
# 按ctrl + C来结束录音。

(4)python脚本控制

import os
import threading


def print_time(t):
    t= t+1
    os.system('clear') # 清除上一条命令
    print("times:", t,"s, (Ctrl + C to Stop!)")
    timer = threading.Timer(1, lambda: print_time(t))
    timer.start()


timer = threading.Timer(1, lambda: print_time(0))
timer.setDaemon(True) # 设置随主程序的关闭而关闭
timer.start()

os.system('arecord -D "plughw:2,0" -f S16_LE -r 16000  question1.wav')
print("录音结束!")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值