Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
播放声音文件时出现Python 3权限错误(mp3,播放声音模块)_Python_Python 3.x_Text To Speech_Playsound_Amazon Polly - Fatal编程技术网

播放声音文件时出现Python 3权限错误(mp3,播放声音模块)

播放声音文件时出现Python 3权限错误(mp3,播放声音模块),python,python-3.x,text-to-speech,playsound,amazon-polly,Python,Python 3.x,Text To Speech,Playsound,Amazon Polly,几天前,该程序运行良好,今天刚刚停止。没有一封信被更改。我的一个故障排除步骤是删除文件“output1.mp3”并检查它是否可以这样工作,但它没有。另一件事是,当它没有打印出错误时,它将继续只播放这一个声音文件,不管它是否说了正确的东西。。。以下是我得到的最新错误,希望能有所帮助: Traceback (most recent call last): File "main3.py", line 123, in <module> start() File "main3.

几天前,该程序运行良好,今天刚刚停止。没有一封信被更改。我的一个故障排除步骤是删除文件“output1.mp3”并检查它是否可以这样工作,但它没有。另一件事是,当它没有打印出错误时,它将继续只播放这一个声音文件,不管它是否说了正确的东西。。。以下是我得到的最新错误,希望能有所帮助:

Traceback (most recent call last):
  File "main3.py", line 123, in <module>
    start()
  File "main3.py", line 117, in start
    tts(say)
  File "main3.py", line 24, in tts
    play('output1.mp3')
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\playsound.py", line 35, in _playsoundWin
    winCommand('open "' + sound + '" alias', alias)
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\playsound.py", line 31, in winCommand
    raise PlaysoundException(exceptionMessage)
playsound.PlaysoundException:
    Error 275 for command:
        open "output1.mp3" alias playsound_0.8842337577803419
    Cannot find the specified file.  Make sure the path and filename are correct.
这台语音合成器是。顺便说一句,我使用PyCharm作为IDE并在Windows10上工作。当我切换到linux机器时,语音识别部分会中断

更新:我对代码进行了一些调整,并设法修复了pyaudio错误,但在这个过程中我又遇到了一个错误,这次是关于权限的。。以下是错误日志:

Traceback (most recent call last):
  File "C:/Users/Despot/Desktop/DAv3/main3.py", line 123, in <module>
    start()
  File "C:/Users/Despot/Desktop/DAv3/main3.py", line 118, in start
    ai()
  File "C:/Users/Despot/Desktop/DAv3/main3.py", line 96, in ai
    time()
  File "C:/Users/Despot/Desktop/DAv3/main3.py", line 39, in time
    tts("It is " + now.strftime("%H:%M"))
  File "C:/Users/Despot/Desktop/DAv3/main3.py", line 21, in tts
    with open('output11.mp3', 'wb') as f:
PermissionError: [Errno 13] Permission denied: 'output11.mp3'
回溯(最近一次呼叫最后一次):
文件“C:/Users/Despot/Desktop/DAv3/main3.py”,第123行,在
开始()
文件“C:/Users/Despot/Desktop/DAv3/main3.py”,第118行,在开始处
ai()
文件“C:/Users/Despot/Desktop/DAv3/main3.py”,第96行,ai格式
时间()
文件“C:/Users/Despot/Desktop/DAv3/main3.py”,第39行,及时
tts(“它是”+now.strftime(“%H:%M”))
文件“C:/Users/Despot/Desktop/DAv3/main3.py”,第21行,在tts中
将open('output11.mp3','wb')作为f:
PermissionError:[Errno 13]权限被拒绝:“output11.mp3”

更新2:我一直在酗酒,我发现这个问题只存在于我的Windows 10计算机上,程序在linux上运行良好。

playsound libs中有一个Windows目录。 如果此操作仅在Linux上失败,则应在Linux计算机上安装playsound lib,然后仅将main3.py复制到它。

回答更新2: 将output11.mp3复制到另一个位置,并将路径更改为新位置:

with open('CHANGE-THIS-PATH', 'wb') as f:

还要确保python以管理员身份运行。

在学习playsound软件包的一开始,我就遇到了类似的问题。 我正要运行playsound代码的基本第一步

from playsound import playsound playsound('sample.wav') 从playsound导入playsound 播放声音('sample.wav') 注意:sample.wav是我要播放的音频文件

我试图运行它,但我遇到了与您之前遇到的相同的错误。 几分钟后,我将音频文件从sample.wav重命名为sample 然后将其作为playsound('sample.wav')运行

幸运的是!它跑了。 然后我才知道以前它存储为sample.wav.wav

因此,让我们将音频文件名保留为output.wav,并尝试以 playsound('output.wav.wav'),或者将其重命名为output并作为playsound('output.wav')运行,同样适用于其他音频格式。


希望你得到你的答案

尝试使用音频文件的绝对路径(完整路径)而不是相对路径

例如:“C:/Users/Adam/Desktop/dolphin.wav”而不仅仅是“dolphin.wav”


这对我来说很有效。

我通过将.py和.wav文件移动到文件系统中不太深的文件夹中解决了这个问题。

欢迎这样做,请注意,OP的澄清请求只能在评论中提出,因为答案保留给。。。答案。您必须等到获得必要的声誉(50)才能发表评论。在此之前,欢迎您回答不需要进一步澄清的问题!我把它改成一个答案我不确定我们是否理解对方,因为问题不在于音频复制——这很好——而是python拒绝将新数据写入文件(在另一个问题中,python的语音识别库只是冻结了,拒绝在我的linux机上合作,你可以找到这一点)查看您的回溯-就在这一行:“文件”main3.py,“第24行,在tts中”,它尝试访问“C:\Program Files(x86)\Python36-32\lib\site packages\playsound.py”,这显然是linux机器无法访问的,因为它是windows目录。这是来自playsound库的错误消息,表示这些库包含错误的目录,应予以替换。您是否已将playsound库从windows计算机复制到linux计算机?您正在显示的是
main3.py
文件?代码中的第117行和第123行是什么?从那里开始。是的,那是main3.py。第117行和第123行只指向tts()函数(我用于语音合成的函数)。最让我不安的是它没有任何明显的原因就停止工作了……我只是尝试了一下,但没有运气。我删除了文件“output11.mp3”,它在第一次写入时运行良好,但在第二次尝试写入时出现了相同的错误。我甚至从作为管理员运行的cmd中运行了它。您的python在您尝试编写它时是否使用了该文件?我认为不会。正如我之前所说的,代码只是在一段时间后决定不工作。它在过去工作得很好。。。 from playsound import playsound playsound('sample.wav')