LINUX.ORG.RU

Как по-простому воспроизвести mp3 на python?

 , ,


0

2

Есть несколько кнопок, при нажатии на которые должны воспроизводиться mp3 файлы соответствующие этим кнопкам.

Идеальным вариантом был бы какой-нибудь одинокий модуль, умеющий это делать на linux и windows
Получилось сделать это через pygame, но если mp3 файл загружать прямо перед воспроизведением, то звук трещит
Пытался сделать через pyaudio, но не нашел примеров как воспроизводить mp3, везде только wav

python 3.3
Спасибо!

какой-нибудь одинокий модуль, умеющий это делать на linux и windows

import subprocess

class coolplayer():

    def __init__(self, path_to_file):
        self.path_to_file = path_to_file

    def play(self):
        cmd = "aplay %s" % self.path_to_file
        subprocess.Popen(cmd, shell=True)
        return 0

if __name__ == '__main__':
    # How to use:
    coolplayer('C:\Музычка\рэпчик\пацаны_душевночетают.MP3').play()
Siado ★★★★★
()

PyAudio это же биндинг к PortAudio? Тогда его не советую: использовал его и в результате оказалось проще работать непосредственно с ALSA, чем разбираться с нюансами, которые добавляет PortAudio. А в питоне их может стать еще больше.

Для такой задачи лучше наверное взять биндинги к gstreamer или vlc.

Но еще лучше ИМХО вызвать внешнюю утилиту, как советуют выше. aplay правда mp3 не умеет, но есть, например, mplayer и ffplay.

gv
()

Pyglet умеет почти любой формат.

E ★★★
()
Ответ на: комментарий от buddhist
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pygame

FILENAME = '/music/coolmusic.midi'


def main():
    pygame.init()

    pygame.mixer.music.load(FILENAME)
    pygame.mixer.music.play(-1, 0.0)

    while True:
        pass

if __name__ == "__main__":
    main()

z00ke
()
Последнее исправление: z00ke (всего исправлений: 5)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.