-1

我正在尝试制作一个闹钟,它在大多数情况下都可以使用。但是我安装了 playsound,这样我就可以让它在闹钟响起时播放音乐。我不太确定如何使用路径,即使我将 .wav 放在文件夹中,它也意味着它不会播放。代码:

import datetime
from playsound import playsound

alarmHour = int(input("What hour do you want to wake up?"))
alarmMinute = int(input("What minute do you want?"))
amPm = str(input("Am or Pm")).lower().strip()

if (amPm == "pm"):
    alarmHour = alarmHour + 12

while(1 == 1):
    if(alarmHour == datetime.datetime.now().hour and
       alarmMinute == datetime.datetime.now().minute):
     print("Wake up, lazy!")
     playsound("C:\\Users\\wicke\\AppData\\Local\\Programs\\Python\\Python39\\Lib\\site-packages\\askaway.wav")
     break

print("Exited")

错误:

Error 275 for command:
        open "C:\Users\jeandae\AppData\Local\Programs\Python\Python39\Lib\site-packages\askaway.wav"
    Cannot find the specified file.  Make sure the path and filename are correct.

    Error 263 for command:
        close "C:\Users\jeandae\AppData\Local\Programs\Python\Python39\Lib\site-packages\askaway.wav"
    The specified device is not open or is not recognized by MCI.
Failed to close the file: "C:\Users\jeandae\AppData\Local\Programs\Python\Python39\Lib\site-packages\askaway.wav"
Traceback (most recent call last):
  File "C:/Users/jeandae/AppData/Local/Programs/Python/Python39/alarm 2.py", line 16, in <module>
    playsound("C:\\Users\\jeandae\\AppData\\Local\\Programs\\Python\\Python39\\Lib\\site-packages\\askaway.wav")
  File "C:\Users\jeandae\AppData\Local\Programs\Python\Python39\lib\site-packages\playsound.py", line 72, in _playsoundWin
    winCommand(u'open {}'.format(sound))
  File "C:\Users\jeandae\AppData\Local\Programs\Python\Python39\lib\site-packages\playsound.py", line 64, in winCommand
    raise PlaysoundException(exceptionMessage)
playsound.PlaysoundException: 
    Error 275 for command:
        open "C:\Users\jeandae\AppData\Local\Programs\Python\Python39\Lib\site-packages\askaway.wav"
    Cannot find the specified file.  Make sure the path and filename are correct.
4

2 回答 2

0

如果您愿意,可以使用比 playsound 更可靠的pydub ,该软件包存在问题。

您的代码没问题,问题在于 playsound 它没有播放音频。一个非常简单的方法是。

import datetime

from pydub import AudioSegment
from pydub.playback import play

alarmHour = int(input("What hour do you want to wake up?"))
alarmMinute = int(input("What minute do you want?"))
amPm = str(input("Am or Pm")).lower().strip()

if (amPm == "pm"):
    alarmHour = alarmHour + 12

while(1 == 1):
    if(alarmHour == datetime.datetime.now().hour and
       alarmMinute == datetime.datetime.now().minute):
     print("Wake up, lazy!")
     file1= AudioSegment.from_file("audiofile.wav")
     play(file1)
     break

print("Exited")

但是你需要安装 pydub 并且你可能会遇到一些错误我建议你阅读这篇文章来正确安装pydub

于 2021-08-04T22:33:50.837 回答
0

给播放声音函数提供音频文件的绝对路径,例如:

playsound('C:/Users/user/Desktop/away.wav')
于 2021-08-03T21:27:28.043 回答