Inércia Sensorial

2005-10-23

MP3 com Python

Filed under: Python — inerte @ 02:45

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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 🙂

2 Comments »

  1. […] « MP3 com Python […]

    Pingback by Inércia Sensorial » Thread em Python — 2005-10-23 @ 23:36

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

    Comment by Jpunker — 2008-08-27 @ 14:51

RSS feed for comments on this post. TrackBack URL

Leave a comment

You must be logged in to post a comment.

Powered by WordPress