如何使用pyglet播放mayavi动画中的声音?

时间:2019-07-05 05:39:40

标签: python yield pyglet mayavi

我想在mayavi动画循环中使用sam <- sample(1:3, size = 3000, prob = c(0.2, 0.3, 0.5), replace = TRUE) x1 <- sum(sam == 1) x2 <- sum(sam == 2) x3 <- sum(sam == 3) out <- c(runif(x1, 0.1, 0.3), runif(x2, 0.4, 0.7), runif(x3, 0.7, 0.9)) 播放声音,但是我发现pyglet在'yield'效果不佳,后者必须在mayavi动画中使用。情况是,一旦播放声音和完成动画,就无法开始新的循环,这是我的一些代码,有什么想法吗?

pyglet可以在for循环中播放声音,但不能使用pyglet

yield

任何其他模块建议也可以接受。问题是我需要在20ms内快速更新声音。

1 个答案:

答案 0 :(得分:1)

我最后使用winsound模块解决了这个问题。使用

winsound.PlaySound(sound, winsound.SND_FILENAME | winsound.SND_ASYNC)

替换

sound_adjust = pyglet.resource.media(sound, streaming=False) 
sound_adjust.play()

异步播放定义的声音。当然,您必须从一开始就import winsound