我正在尝试为Python创建一个脚本,该脚本基本上每五秒钟播放一次声音。

我的代码:

import time
import os

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


执行时出现此错误:

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


谁能帮忙解释为什么?

最佳答案

您正在尝试执行MP3文件,因此当然会引发该错误-尝试在终端中粘贴/Users/ColShell/Desktop/beep-08b.mp3并查看会发生什么。

您是否要改为在默认系统播放器中播放文件?那将取决于您的操作系统-我假设您的路径是MacOS X,因此您可以使用open调用MP3文件的默认应用程序:

import subprocess

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


但是,最好使用旨在在后台播放声音的应用程序,并且OSX为此提供了afplay,因此:

import subprocess

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


但是,如果您想直接使用Python播放声音,则有两种选择-我个人认为playsound是最优雅的方法之一,因此安装它然后就可以轻松地将其使用:

import playsound

playsound.playsound("/Users/ColShell/Desktop/beep-08b.mp3")


作为奖励-它(主要是跨平台)。

关于python - 无法执行.mp3文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45260556/

10-11 22:05
查看更多