共計(jì) 1007 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
要實(shí)現(xiàn)音頻錄制功能,可以使用 Python 的音頻處理庫(kù)pyaudio
。
首先,需要安裝 pyaudio
庫(kù),可以使用以下命令進(jìn)行安裝:
pip install pyaudio
接下來(lái),可以使用以下代碼實(shí)現(xiàn)音頻錄制功能:
import pyaudio
import wave
# 設(shè)置參數(shù)
chunk = 1024 # 每次錄制的音頻大小
format = pyaudio.paInt16 # 音頻格式
channels = 2 # 聲道數(shù)
rate = 44100 # 采樣率
record_seconds = 5 # 錄制時(shí)長(zhǎng)
output_file = "output.wav" # 輸出文件名
# 創(chuàng)建 PyAudio 對(duì)象
p = pyaudio.PyAudio()
# 打開(kāi)音頻流
stream = p.open(format=format,
channels=channels,
rate=rate,
input=True,
frames_per_buffer=chunk)
print(" 開(kāi)始錄制音頻...")
frames = []
# 錄制音頻
for i in range(int(rate / chunk * record_seconds)):
data = stream.read(chunk)
frames.append(data)
print(" 錄制音頻結(jié)束.")
# 關(guān)閉音頻流
stream.stop_stream()
stream.close()
p.terminate()
# 保存音頻到文件
wf = wave.open(output_file, 'wb')
wf.setnchannels(channels)
wf.setsampwidth(p.get_sample_size(format))
wf.setframerate(rate)
wf.writeframes(b''.join(frames))
wf.close()
print(" 音頻保存成功:", output_file)
上述代碼中,首先設(shè)置了錄制音頻的參數(shù),如音頻大小、格式、聲道數(shù)、采樣率和錄制時(shí)長(zhǎng)等。然后,創(chuàng)建了 PyAudio
對(duì)象,并使用 open()
方法打開(kāi)音頻流。接下來(lái),通過(guò)循環(huán)讀取音頻流的數(shù)據(jù),并將數(shù)據(jù)添加到 frames
列表中,完成音頻的錄制。最后,關(guān)閉音頻流,終止 PyAudio
對(duì)象,然后將錄制的音頻數(shù)據(jù)保存到文件中。
運(yùn)行以上代碼后,會(huì)開(kāi)始錄制音頻,錄制完成后會(huì)保存到指定的文件中。可以根據(jù)實(shí)際需求修改參數(shù)和文件名。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完