用于一起播放大量mp3文件的Python模块

时间:2013-04-14 14:27:58

标签: python python-3.x python-module

我正在搜索但是找不到一个好的python模块,它允许我加载大量的声音并在我想要的时间播放它们,其中一些在一起。喜欢: 我有10个mp3文件,其中一些是示例dubstep文件,所以我想用它们创建一个音乐。然后我需要快速加载它们,而不是每次我想播放它时都不按文件加载。所以我需要一个可以加载'for'条件的大量声音的模块,然后为每个声音创建一个'对象',然后随时播放它。

感谢您的帮助!

2 个答案:

答案 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)。