-1
votes

Erreur d'autorisation Python 3 lors de la lecture d'un fichier son (MP3, module PlaySound)

Le programme fonctionnait bien il y a quelques jours et cela s'est arrêté aujourd'hui. Pas une seule lettre n'a été changée. Une de mes étapes de dépannage était de supprimer le fichier 'Output1.mp3' et vérifiez si cela fonctionnera de cette façon, mais ce n'est pas le cas. Une autre chose est que, quand il n'imprimait pas l'erreur, il continuerait de jouer à ce fichier son, qu'il soit dit ou non la bonne chose ... Voici la dernière erreur que j'ai obtenue, espérons qu'il aide:

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'


2 commentaires

Ce que vous affichez votre fichier main33.py ? Quelles lignes sont 117 et 123 dans votre code? Commencer là.


Oui, c'est Main3.py. Les lignes 117 et 123 pointent simplement sur la fonction TTS () (celle que j'utilise pour la synthèse de la parole). Et quels me bugs le plus c'est que cela vient d'arrêter de travailler sans raison apparente ...


5 Réponses :


0
votes

PlaySound Libs a un répertoire Windows en eux. Si cela ne fonctionne que sur Linux, vous devez installer playSound Lib sur la machine Linux, puis copier uniquement le Main3.py.


6 commentaires

Bienvenue à cela, veuillez noter que les demandes de clarification de l'OP ne devraient être effectuées que dans les commentaires, car les réponses sont réservées à ... réponses. Vous devrez attendre que vous obtenez la réputation nécessaire (50) pour pouvoir commenter. Jusque-là, vous êtes invité à répondre aux questions qui n'ont pas besoin de plus de clarifications!


Je le change à une réponse


Je ne suis pas sûr de nous comprendre, car le problème n'est pas dans la reproduction audio - cela fonctionne bien - mais en Python refusant d'écrire de nouvelles données dans un fichier (et dans une question distincte que la bibliothèque de reconnaissance vocale de Python gèle et refuse Pour coopérer sur ma machine Linux, vous pouvez trouver que ici )


Découvrez votre trace de trace - juste après cette ligne: "Fichier" Main3.py ", ligne 24, dans TTS", il tente d'accéder à "C: \ Program Files (X86) \ Python36-32 \ LIB \ Site-Sites-Packages \ PlaySound .py "qui ne peut clairement pas être accès à une machine Linux car il s'agit d'un répertoire Windows. Il s'agit d'un message d'erreur des bibliothèques PlaySound, ce qui signifie que les bibliothèques contiennent des répertoires mauvais et doivent être remplacés.


Avez-vous copié les bibliothèques PlaySound de votre machine Windows à votre machine Linux?


Non, j'ai installé PlaySound via Pip3 sur ma machine Linux. Je modifie le code pour un peu et j'ai réussi à résoudre cette erreur, mais en en ai un autre. Je posterai comme une mise à jour dans la question.



0
votes

Réponse pour UPDATE2: Copier la sortie11.mp3 vers un autre emplacement et modifiez le chemin d'accès au nouvel emplacement: xxx

Assurez-vous également que Python fonctionne comme administrateur.


3 commentaires

Je viens d'essayer ça, mais pas de chance. J'ai supprimé le fichier "Sortie11.mp3" et cela a fonctionné bien pour la 1ère écriture, mais a livré la même erreur lorsqu'il a essayé d'écrire pour la 2e fois. Je l'ai même couru à partir d'une cmd que j'ai couru en tant qu'administrateur.


Votre python utilise-t-il le fichier pendant que vous essayez de l'écrire?


Je ne pense pas que ça fait. Comme je l'ai dit avant - le code vient de décider de ne pas travailler après un moment. Ça marche bien dans le passé ...



0
votes

J'avais un type de problème similaire au tout début de mon ensemble d'apprentissage PlaySound. J'étais sur le point d'exécuter la première étape de base du code PlaySound qui est, xxx

Remarque: Sample.wav est mon fichier audio à lire.

J'essayais de Exécutez-le mais j'ai monté la même erreur que vous avez eu plus tôt. Après quelques minutes, je viens de renommer le fichier audio de Sample.wav pour échantillonner puis exécutez-le comme playsound ("échantillon.wav")

Heureusement! Il a couru. Ensuite, je suis venu de savoir qu'auparavant, il a été stocké comme exemple.wav.wav

Gardons votre nom de fichier audio comme sortie.wav et essayez d'exécuter votre fichier audio comme PlaySound ("Output.wav.wav ') ou le renommant également de la sortie et de la course en tant que playsound (" sortie.wav ") aussi pour les autres formats audio aussi.

J'espère que vous avez eu votre réponse !


0 commentaires

0
votes

Essayez d'utiliser le chemin absolu (chemin complet) du fichier audio au lieu du chemin relatif.

Par exemple: "C: /USERSERS/ADAM/DESKTOP/DOLPHIN.WAV" au lieu de "dauphin.wav"

Cela a fonctionné pour moi.


0 commentaires

0
votes

J'ai résolu ce problème en déplaçant les fichiers .PY et .wav dans un dossier moins profond dans le système de fichiers.


0 commentaires