我正在搜索但是找不到一个好的python模块,它允许我加载大量的声音并在我想要的时间播放它们,其中一些在一起。喜欢: 我有10个mp3文件,其中一些是示例dubstep文件,所以我想用它们创建一个音乐。然后我需要快速加载它们,而不是每次我想播放它时都不按文件加载。所以我需要一个可以加载'for'条件的大量声音的模块,然后为每个声音创建一个'对象',然后随时播放它。
感谢您的帮助!
答案 0 :(得分:0)
您可以使用Snack Sound Toolkit,即多平台:
sound = Sound()
sound.read('sound.mp3')
sound.play()
然后根据用户输入使用不同的.read()+。play()组合。
答案 1 :(得分:0)
我需要一个模块,可以加载大量带有“for”条件的声音,然后为每个声音创建一个“对象”
作为@Aya suggested,您可以使用pyglet
(+ AVbin
获取mp3)并行播放多个mp3文件:
#!/usr/bin/env python3
import os
import random
from glob import glob
import pyglet
# load sounds
paths = glob(os.path.expanduser('~/Music/*.mp3'))
sounds = [pyglet.media.load(p, streaming=False) for p in paths]
# play them in parallel
for sound in sounds:
player = sound.play()
player.volume = random.random()
player.push_handlers(on_eos=lambda: print('done playing the sound'))
# exit in `delay` seconds
pyglet.clock.schedule_once(lambda dt: pyglet.app.exit(), delay=10)
# run event loop
pyglet.app.run()
适用于Windows,Mac OS X,Linux。它支持Python 2和3(pyglet 1.2)。