Play MP3s from Windows
Arlie
arlie.c at gmail.com
Fri Jun 19 19:20:09 EDT 2009
On Jun 20, 7:16 am, Arlie <arli... at gmail.com> wrote:
> Hi,
>
> Newbie here. I copied and pasted the code below. But when I ran it I
> got this error:
>
> D:\>python mp3.py
> Duree du fichier : 298919 millisecondes
> Traceback (most recent call last):
> File "mp3.py", line 37, in <module>
> time.sleep(int(buf)/1000)
> ValueError: invalid literal for int() with base 10: ''
>
> The code:
>
> # -*- 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 "d:\\Linger.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
>
> Please help. I'm in the middle of a project and I wanted to use this.
By the way I using Python 2.6.2.
More information about the Python-list
mailing list