2017-07-23 4 views
1

Ich versuche ein Skript für Python zu erstellen, das im Prinzip alle fünf Sekunden einen Ton abspielt.Kann .mp3-Datei nicht ausführen

Mein Code:

import time 
import os 

while True: 
    path = '/Users/ColShell/Desktop/beep-08b.mp3' 
    path.rstrip('/') 
    os.system(path) 
    time.sleep(5) 

bekomme ich diesen Fehler bei der Ausführung:

sh: /Users/ColShell/Desktop/beep-08b.mp3: cannot execute binary file 

jemand helfen erklären, warum bitte?

Antwort

2

Sie versuchen, eine MP3-Datei auszuführen, so dass es natürlich diesen Fehler auslöst - versuchen Sie, /Users/ColShell/Desktop/beep-08b.mp3 in Ihr Terminal einzufügen und sehen Sie, was passiert.

Versuchen Sie stattdessen, die Datei im Standardsystemplayer abzuspielen? Das würde auf Ihrem OS abhängen - ich MacOS X basiert auf dem Weg annehmen würde, so können Sie open verwenden, um die Standard-Anwendung für MP3-Dateien aufzurufen:

import subprocess 

subprocess.call(["open", "/Users/ColShell/Desktop/beep-08b.mp3"]) 

Allerdings wäre es besser, eine App zu verwenden entworfen zu spielen Sounds im Hintergrund und OSX hat afplay dafür, so:

import subprocess 

subprocess.call(["afplay", "/Users/ColShell/Desktop/beep-08b.mp3"]) 

Aber wenn Sie Ihre Sounds direkt in Python spielen wollen, dann ein paar Optionen gibt es - ich einer der seine persönlich playsound finden eleganteste Ansätze, also installieren Sie es und dann können Sie es einfach verwenden mit:

Als Bonus - es ist (meist) Cross-Plattform.

+0

Danke Mann das ist, was ich gesucht habe. Ich dachte, es würde die Standardanwendung nur durch Ausführen der Datei öffnen, so dass es definitiv ein Missverständnis meinerseits war. –