2010-07-07 65 views
7

? Es posible abrir un archivo mp3 en python (es posible usar POPEN) y no quiero ejecutarlo en el programa quiero decir como una ventana separada en el reproductor multimedia o lo que sea para que se abra cuando llamo a la función y, de ser así, cómo. muchas gracias.¿Puede Python abrir un archivo mp3

+0

relacionados: [? ¿Existe una plataforma independiente de recepción de os.startfile()] (http://stackoverflow.com/q/17317219/4279) – jfs

Respuesta

11

Abrir un archivo con la aplicación asociada ( de Windows solamente):

import os 
os.startfile('my_mp3.mp3') 

Un enlace a la documentación can be found here.

+0

fresca. No estaba enterado de eso. –

+0

arrojó un error dijo: Traceback (última llamada más reciente): Archivo "C: \ Users \ matt \ Desktop \ 1.py", línea 3, en os.startfile ('C: \ Users \ matt \ Desktop \ test.mp3 ') WindowsError: [Error 2] El sistema no puede encontrar el archivo especificado:' C: \\ Users \\ matt \\ Desktop \ test.mp3 ' – DonJuma

+0

aquí está el script import os os.startfile ('C: \ Users \ matt \ Desktop \ test.mp3') – DonJuma

1

También podría usar subprocess. Luego, debe especificar la ruta al ejecutable que desea ejecutar, lo que puede no ser útil si desea que esto funcione en la computadora de otra persona, pero en general es una técnica bastante poderosa.

Uso:

import subprocess 
PLAYERPATH = "C:/Program Files (x86)/VideoLAN/VLC/vlc.exe" 
subprocess.call([PLAYERPATH, FILEPATH]) 
+0

Esto solo se aplica a Windows; en sistemas POSIX (Linux, etc.) 'subprocesos' honra' $ PATH' todavía. –

0

Este script escoger una canción al azar en el directorio actual. Y omitirá cualquier archivo que no sea un archivo .mp3. Puede agregar extensiones adicionales a la lista para abrir, por ejemplo: ext3 = ['. Mp3', '.mp4'] y así sucesivamente.

import random,os,sys 

folder=os.listdir(os.getcwd()) 
file=random.choice(folder) 
ext3=['.mp3'] 
print('First random pick: '+file) 

while file[-4:] not in ext3 : 
    print('Not an MP3 file : '+file) 
    file=random.choice(folder) 
else: 
    os.startfile(file) 
    print('Song name: '+file) 

sys.exit() 

##os.startfile(random.choice(folder)) 
+0

funciona como un encanto después de algunos ajustes:) – Mrk

1

Si ya tiene instalado vlc en su sistema, puede usar el comando cvlc.

import os 
os.system('cvlc path/to/foo.mp3') 

Eso funcionará. Espero eso ayude.

1
import mp3play,time 
data= r'pathname' 
clip = mp3play.load(data) 
clip.play() 
time.sleep(20) 
clip.stop() 
1
# Just listen to all the mp3 files in order 
import os 
folder=os.listdir(os.getcwd()) 
for files in folder: 
    if files.endswith(".mp3"): 
     os.startfile(files)