MP3 com Python

Sem bibliotecas adicionais como libmpg123 ou gstreamer ou qualquer outra. Puro Python. Bem, quase, já que o PyMedia é escrito em sua maioria em C, mas depois de instalado você pode usar o import para trazê-lo.

import pymedia.audio.sound as sound
import pymedia.audio.acodec as acodec

def playFile(file_name):
    file_extension = file_name.split('.' )[ -1 ].lower()
    parms = {'id': acodec.getCodecID(file_extension), 'ext': file_extension}
    decoder = acodec.Decoder(parms)
    f = open(file_name, 'rb')
    s = f.read(8192)
    r = decoder.decode(s)

    snd = sound.Output(r.sample_rate, r.channels, sound.AFMT_S16_LE)

    while len(s) > 0:
        if r:
            snd.play(r.data)
        s = f.read(512)
        r = decoder.decode(s)

    import time
    while snd.isPlaying():
        time.sleep(.05)

Para tocar um arquivo:

playFile(“arquivo.mp3”)

O PyMedia entende outros formatos de aúdio, como WAV e OGG. Ele também mostra vídeos com o Pygame mas isso eu ainda não testei não 🙂


Posted

in

by

Tags:

Comments

2 responses to “MP3 com Python”

  1. Jpunker Avatar

    ola, como faço pra saber quantos segundos tem um .mp3???

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.