用python写一个收音机
要使用Python编写一个收音机,你可以使用PyAudio库来实现音频的录制和播放。以下是一个简单的示例代码:
import pyaudio
def record_audio(filename, duration):
chunk = 1024
sample_format = pyaudio.paInt16
channels = 2
fs = 44100
p = pyaudio.PyAudio()
stream = p.open(format=sample_format,
channels=channels,
rate=fs,
frames_per_buffer=chunk,
input=True)
frames = []
for i in range(0, int(fs / chunk * duration)):
data = stream.read(chunk)
frames.append(data)
stream.stop_stream()
stream.close()
p.terminate()
wf = wave.open(filename, 'wb')
wf.setnchannels(channels)
wf.setsampwidth(p.get_sample_size(sample_format))
wf.setframerate(fs)
wf.writeframes(b''.join(frames))
wf.close()
def play_audio(filename):
chunk = 1024
wf = wave.open(filename, 'rb')
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(chunk)
while data:
stream.write(data)
data = wf.readframes(chunk)
stream.stop_stream()
stream.close()
p.terminate()
# 录制音频
record_audio("recording.wav", 5)
# 播放音频
play_audio("recording.wav")
这个示例中,record_audio函数用于录制音频,它使用PyAudio打开一个音频流,读取音频数据并保存到文件中。play_audio函数用于播放音频,它使用PyAudio打开一个音频流,从文件中读取音频数据并播放出来。
你可以根据需要修改代码,例如改变录制的时长、文件名等。另外,你可能需要安装PyAudio库,可以使用以下命令进行安装:
pip install pyaudio
``
原文地址: https://www.cveoy.top/t/topic/iNwS 著作权归作者所有。请勿转载和采集!