python怎么输出声音_用python录制输出声音

本文介绍了一个使用PyAudio库录制笔记本电脑声音的Python程序。在尝试更改设置以从输出而不是输入录制时遇到了错误。寻求解决方案,希望能够实现不通过物理连接耳机和麦克风孔就能录制电脑声音的方法。

我想用python编程录制从笔记本电脑发出的声音。我找到了PyAudio,并提出了以下完成任务的程序:import pyaudio, wave, sys

chunk = 1024

FORMAT = pyaudio.paInt16

CHANNELS = 1

RATE = 44100

RECORD_SECONDS = 5

WAVE_OUTPUT_FILENAME = sys.argv[1]

p = pyaudio.PyAudio()

channel_map = (0, 1)

stream_info = pyaudio.PaMacCoreStreamInfo(

flags = pyaudio.PaMacCoreStreamInfo.paMacCorePlayNice,

channel_map = channel_map)

stream = p.open(format = FORMAT,

rate = RATE,

input = True,

input_host_api_specific_stream_info = stream_info,

channels = CHANNELS)

all = []

for i in range(0, RATE / chunk * RECORD_SECONDS):

data = stream.read(chunk)

all.append(data)

stream.close()

p.terminate()

data = ''.join(all)

wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')

wf.setnchannels(CHANNELS)

wf.setsampwidth(p.get_sample_size(FORMAT))

wf.setframerate(RATE)

wf.writeframes(data)

wf.close()

问题是我得把耳机插孔和麦克风插孔连接起来。我试着换掉这几行:input = True,

input_host_api_specific_stream_info = stream_info,

有了这些:output = True,

output_host_api_specific_stream_info = stream_info,

但后来我发现这个错误:Traceback (most recent call last):

File "./test.py", line 25, in

data = stream.read(chunk)

File "/Library/Python/2.5/site-packages/pyaudio.py", line 562, in read

paCanNotReadFromAnOutputOnlyStream)

IOError: [Errno Not input stream] -9975

有没有一种方法可以实例化PyAudio流,使其从计算机的输出输入,而我不必将耳机插孔连接到麦克风?有更好的办法吗?我更喜欢使用python应用程序,避免使用cocoa。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值