[python-win32] Play MP3s from Windows, Just Works

Michel Claveau mc at mclaveau.com
Tue Aug 12 21:38:20 CEST 2008


Hi!

You can use MCI (include inWindows).
Example:


# -*- coding: utf-8 -*-

import time
from ctypes import windll, c_buffer

class mci:
    def __init__(self):
        self.w32mci = windll.winmm.mciSendStringA
        self.w32mcierror = windll.winmm.mciGetErrorStringA

    def send(self,commande):
        buffer = c_buffer(255)
        errorcode = self.w32mci(str(commande),buffer,254,0)
        if errorcode:
            return errorcode, self.get_error(errorcode)
        else:
            return errorcode,buffer.value

    def get_error(self,error):
        error = int(error)
        buffer = c_buffer(255)
        self.w32mcierror(error,buffer,254)
        return buffer.value

    def directsend(self, txt):
        (err,buf)=self.send(txt)
        if err != 0:
            print'Erreur',str(err),'sur',txt,':',buf
        return (err,buf)

mci=mci()
mci.directsend('open "c:\\myMusicFile.mp3" alias toto')
mci.directsend('set toto time format milliseconds')
err,buf=mci.directsend('status toto length ')
print 'Duree du fichier : ',buf,' millisecondes'
err,buf=mci.directsend('play toto from 0 to '+str(buf))
time.sleep(int(buf)/1000)
mci.directsend('close toto')





@-salutations
-- 
Michel Claveau



More information about the python-win32 mailing list