Python 使用声音时,Psychopy不会在脚本末尾退出

Python 使用声音时,Psychopy不会在脚本末尾退出,python,audio,psychopy,pyo,Python,Audio,Psychopy,Pyo,我最近在使用Psycopy时遇到了一个奇怪的bug,我的脚本在终止Psycopy时并没有杀死它 只有当我在我的程序中添加一个声音,并且当我让psychopy从文件中生成一个声音或播放一个声音时,才会发生这种情况。换句话说,仅仅从psychopy加载声音,并不会导致我的脚本无法退出。仅当我调用s=sound.sound(value=“C”,secs=0.15)中的声音时,即使s.play()没有在我的例程中实际播放该声音 我试着在谷歌上搜索,看看是否有其他人报告了这个问题,但我似乎有点孤独。我已经

我最近在使用Psycopy时遇到了一个奇怪的bug,我的脚本在终止Psycopy时并没有杀死它

只有当我在我的程序中添加一个声音,并且当我让psychopy从文件中生成一个声音或播放一个声音时,才会发生这种情况。换句话说,仅仅从psychopy加载
声音
,并不会导致我的脚本无法退出。仅当我调用
s=sound.sound(value=“C”,secs=0.15)
中的声音时,即使
s.play()没有在我的例程中实际播放该声音

我试着在谷歌上搜索,看看是否有其他人报告了这个问题,但我似乎有点孤独。我已经在下面的两个Mac电脑规格上进行了测试:

MacBook Pro运行:

  • 约塞米蒂
  • Enthow python 2.7
  • 最新的psychopy(最近与
    轻松安装一起安装)
  • pyglet 1.2
  • pyo 0.7.5
  • 英特尔虹膜图形卡/内置
iMac运行:

  • 与上面类似的一切
  • NVIDIA独立图形卡(现在不记得型号)
下面是我正在运行的一些示例代码。这对你合适吗? 有人对可能发生的事情有什么建议吗? 如果需要更多关于我的系统等的信息,请告诉我

#Display a text together with a sound synced
#to the onset of the visual display
#---------------------------------------------
from psychopy import core, visual,sound
win = visual.Window([800,800], color='gray', allowGUI=False, winType='pyglet', monitor='testMonitor',units='pix')

stim = visual.TextStim(win, text="Hi!")
s=sound.Sound(value="C", secs=0.15)

startText=visual.TextStim(win, text="starting")
startText.draw()
win.flip()
core.wait(1)
for i in xrange(2):

    for frameN in range(70): 
        stim.draw()
        if frameN == 0:      
            win.flip()
            s.play()
        else:
            win.flip()         
    win.flip()
  core.wait(.2)

谢谢:)

+1提供了一个可复制的示例(但最后一行的缩进需要修复:不确定应该是什么级别)。在其他方面对我来说运行良好(Mac OS X 10.10.3、MacBook Air、PsychoPy standalone 1.82.01)。你有没有试过改变“心理变态”偏好中声音库的顺序?用
pyo
代替
pygame
有时可以解决声音问题。是的,我试过了。Pyo是默认值。自从我没有安装它以来,我还没有尝试在独立的psychopy中运行。奇怪……如果显式调用
core.quit()
,会怎么样?我确实添加了这个选项是的。似乎是pyo无法关闭的问题。但这就是我所能理解的。我在谷歌上搜索了同样的问题后发现了这篇文章,尽管这是我的第一个心理变态程序,我不知道问题出在声音上。运行您的代码会产生同样的问题行为——使用2015 MacBook pro、PsychPy standalone 1.84.2和MacOS Sierra,有一半时间无法终止(有时甚至崩溃!)。如果你已经弄明白了,我会喜欢更新的。。。