在当今数字化的时代,音频处理成为了许多领域不可或缺的技能。python作为一种强大且灵活的编程语言,为实现音频播放与录音提供了便捷而高效的途径。
音频播放
借助python的一些库,我们可以轻松实现音频播放功能。其中,`playsound`库是一个简单易用的选择。首先,确保已经安装了该库。然后,通过以下代码即可播放音频文件:
```python
from playsound import playsound

playsound('your_audio_file.mp3')
```
只需将`'your_audio_file.mp3'`替换为实际的音频文件路径,就能让python播放出指定的音频。
除了`playsound`,`pyaudio`库则提供了更底层、更丰富的音频播放功能。它允许我们对音频的播放参数进行更精细的控制,比如音量、声道等。使用`pyaudio`播放音频的示例代码如下:
```python
import pyaudio
import wave
打开音频文件
wf = wave.open('your_audio_file.wav', 'rb')

初始化pyaudio
p = pyaudio.pyaudio()
打开音频流
stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
channels=wf.getnchannels(),
rate=wf.getframerate(),
output=true)
读取音频数据并播放
data = wf.readframes(1024)
while data:
stream.write(data)
data = wf.readframes(1024)
停止并关闭流和pyaudio
stream.stop_stream()
stream.close()
p.terminate()
```
这段代码展示了如何使用`pyaudio`打开并播放一个wav格式的音频文件。
音频录音
python同样可以实现音频录音功能。`pyaudio`库在这方面也发挥着重要作用。以下是一个简单的录音示例:
```python
import pyaudio
import wave
定义音频参数
format = pyaudio.paint16
channels = 1
rate = 44100
chunk = 1024
record_seconds = 5
wave_output_filename = "recorded_audio.wav"
初始化pyaudio
p = pyaudio.pyaudio()
打开音频流用于录音
stream = p.open(format=format,
channels=channels,
rate=rate,
input=true,
frames_per_buffer=chunk)
print("* recording")
frames = []
录制音频数据
for i in range(0, int(rate / chunk * record_seconds)):
data = stream.read(chunk)
frames.append(data)
print("* done recording")
停止并关闭流
stream.stop_stream()
stream.close()
p.terminate()
保存录制的音频为wav文件
wf = wave.open(wave_output_filename, 'wb')
wf.setnchannels(channels)
wf.setsampwidth(p.get_sample_size(format))
wf.setframerate(rate)
wf.writeframes(b''.join(frames))
wf.close()
```
这段代码实现了录制5秒钟音频并保存为`recorded_audio.wav`文件的功能。
通过python实现音频播放与录音,为我们在音频处理领域打开了一扇新的大门,无论是简单的娱乐应用还是专业的音频项目,都能发挥出重要的作用。






















































