首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Pyo播放Python中的声音

用Pyo播放Python中的声音
EN

Stack Overflow用户
提问于 2016-11-23 21:35:42
回答 2查看 3.6K关注 0票数 1

我正试着用pyo库播放声音。

以下代码:

代码语言:javascript
复制
from psychopy import sound, logging, core
logging.console.setLevel(logging.DEBUG)
from pyo import *

s = Server()
s.setInputDevice(4)
s.setOutputDevice(4)
s.boot()
s.start()

print "output", pa_get_output_devices()
print "input", pa_get_input_devices()

play_audio1 = sound.SoundPyo(value = 'LRsound.wav', stereo = True)
play_audio1.play()
core.wait(1) # wait so the sound can play  

返回此输出:

pyo版本0.8.0 (使用单精度) Portmidi警告:无法打开midi输出0():PortMidi:“主机错误” 输出(“Microsoft声音映射器-输出”、“扬声器/耳机(Realtek )”、“主声音驱动程序”、“扬声器/耳机(Realtek高清音频)”、“Realtek ASIO”、“扬声器/耳机(Realtek High清晰度音频)”、0、1、2、3、4、5) 输入(Realtek ASIO,4) 服务器未启动。服务器必须引导!Pa_OpenStream中的端口音频错误: I/O设备的非法组合

正如您从代码和输出中看到的,我试图确保输入和输出设备是相同的。

这是由于有关非法组合I/O设备的消息。当然,你也可以看到,我的尝试惨败了。无论Server()代码块是否存在,都会出现相同的错误消息。

我在PsychoPy中运行了上述代码。当我在Spyder中运行相同的代码时,它实际上从未被传递过:

代码语言:javascript
复制
play_audio1 = sound.SoundPyo(value = 'LRsound.wav', stereo = True)

它只是什么都不做。

你知道为什么pyo不像它应该玩的那样玩python吗?有什么我能解决的办法吗?

耽误您时间,实在对不起。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-27 11:44:19

我最终放弃了pyo库,并成功地在PsychoPy中使用PyGame播放声音,在从精神病院导入sound之前执行了以下操作:

代码语言:javascript
复制
from psychopy import prefs
prefs.general['audioLib'] = ['pygame']

..。

代码语言:javascript
复制
sound.Sound(value = soundfile)

当使用Windows 7 Pro时,我发现Pyo是一场噩梦。希望与PyGame有关的这项工作会有帮助。

票数 0
EN

Stack Overflow用户

发布于 2017-04-17 21:39:36

在执行任何其他操作之前,必须先对boot()进行Server,因此您的行应该是:

代码语言:javascript
复制
import pyo

s = pyo.Server()
s.boot()
s.start()
s.setInputDevice(4)
s.setOutputDevice(4)

然后,您可以使用来自pyoSfPlayer类来播放一个声音文件:

代码语言:javascript
复制
play_audio1 = pyo.SfPlayer(path="LRsound.wav", speed=[1, 1])
play_audio1.out()

并运行gui接口:

代码语言:javascript
复制
s.gui(locals(), exit=False)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40774534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档