2010-07-07 17 views
7

Python'da bir mp3 dosyasını açmak mümkün mü (POPEN kullanarak) ve medya oynatıcıda ayrı bir pencere veya programın açılacağı her şeyi programda çalıştırmak istemiyorum. Fonksiyonu çağırdığımda ve eğer öyleyse. çok teşekkürler.Python bir mp3 dosyasını açabilir

+0

ilgili: [? Os.startfile bir platform bağımsız eşdeğer mi()] (http://stackoverflow.com/q/17317219/4279) – jfs

cevap

11

(, Windows only) ilişkili uygulama ile bir dosya açma:

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

bir bağlantı belgelerine can be found here için.

+0

soğutulur. Farkında değildi. –

+0

bir hata attı: Traceback (son çağrı son): "C: \ Users \ matt \ Desktop \ 1.py", satır 3, dosyası içinde os.startfile ('C: \ Users \ matt \ Desktop \ test.mp3 ') WindowsError: [Hata 2] Sistem belirtilen dosyayı bulamıyor:' C: \\ Kullanıcılar \\ mat \\ Desktop \ test.mp3 ' – DonJuma

+0

burada komut dosyası import os os.startfile ('C: \ Kullanıcılar \ mat \ Masaüstü \ test.mp3') – DonJuma

1

subprocess'u da kullanabilirsiniz. Daha sonra, çalıştırmak istediğiniz yürütülebilir dosyanın yolunu belirtmeniz gerekir, bunun başkalarının bilgisayarında çalışmasını istiyorsanız yardımcı olamayabilir, ancak genellikle oldukça güçlü bir tekniktir.

Kullanımı:

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

Bu sadece Windows için geçerlidir; POSIX sistemlerinde (Linux, vb.) altprocess '$ PATH 'hala devam ediyor. –

0

Bu komut geçerli dizinde rastgele şarkı seçecek. Ve .mp3 dosyası olmayan herhangi bir dosyayı atlayacaktır. Örneğin açılacak listeye fazladan uzantılar ekleyebilirsiniz: ext3 = ['. Mp3', '.mp4'] vb.

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

, birkaç ayarlamanın ardından çekicilik gibi çalışır:) – Mrk

1

Sisteminizde zaten yüklü olan bir vlc varsa, cvlc komutunu kullanabilirsiniz.

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

Bu işe yarayacaktır. Umarım yardımcı olur.

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) 
İlgili konular