Ошибка 263 для команды: open Welcome.mp3 Указанное устройство не открыто или не распознается MCI
import speech_recognition as sr
import requests
from gtts import gTTS
from playsound import playsound
import os
import subprocess
bot_message=""
message=""
myobj=gTTS(text="Hello I am Shilpa Sheety Speak Anything I am Listening",lang='en',tld='com.au')
myobj.save("starting.mp3")
playsound("starting.mp3")
while bot_message !="Bye":
r=sr.Recognizer()
with sr.Microphone() as source:
audio=r.listen(source)
try:
message=r.recognize_google(audio)
print("You said : {}".format(message))
except:
print("Sorry Could not recognize your voice")
if len(message)==0:
continue
print("Sending Message Now")
r=requests.post("http://localhost:5002/webhooks/rest/webhook",json={'message':message})
print("Bot Says,",end=' ')
for i in r.json():
bot_message=i['text']
print(f"{i['text']}")
myobj=gTTS(text=bot_message)
myobj.save("Welcome.mp3")
playsound("Welcome.mp3")
В приведенной выше программе я играю в welcome.mp3 в цикле, он отлично работает для первых 2 итераций, но на 3-й итерации цикла for я получаю следующую ошибку
Ошибка 263 для команды: open Welcome.mp3 Указанное устройство не открыто или не распознается MCI.
Error 263 for command:
close Welcome.mp3
The specified device is not open or is not recognized by MCI. Failed to close the file: Welcome.mp3 Traceback (most recent call last): File "Voice_bot.py", line 31, in <module>
playsound("Welcome.mp3") File "C:\Users\DJ9004\anaconda4\lib\site-packages\playsound.py", line 72, in _playsoundWin
winCommand(u'open {}'.format(sound)) File "C:\Users\DJ9004\anaconda4\lib\site-packages\playsound.py", line 64, in winCommand
raise PlaysoundException(exceptionMessage) playsound.PlaysoundException:
Error 263 for command:
open Welcome.mp3
The specified device is not open or is not recognized by MCI.*
6 ответов
Это сработало для меня, когда я удалилplaysound
модуль и установил более старую версию sn следующим образом:
pip uninstall playsound
pip install playsound==1.2.2
У меня была такая же проблема, похоже, что файл все еще сохраняется, когда вы пытаетесь его открыть.
Я добавил пару строк, и это сработало просто отлично:
for i in r.json():
bot_message = i['text']
print(f"{i['text']}")
myobj = gTTS(text=bot_message)
os.remove('Welcome.mp3') #LINE ADDED
myobj.save("Welcome.mp3")
time.sleep(1) #LINE ADDED
playsound("Welcome.mp3")
Это работает, когда я устанавливаю версию playsound, удаляя предыдущую версию, как это
pip uninstall playsound
pip install playsound==1.2.2
Попробуй
Я попробовал нелогичное решение, но оно срабатывало каждый раз.
просто измените имя вашего аудиофайла на «audio.mp3» и не забудьте закрыть его, используя «os.close('audio.mp3')».
Код ниже никогда не работал:
from gtts import gTTS
import os
#greetings
def start():
tts = gTTS(text="hi, its kate here! how may i help you?", lang='en' ,
slow=False)
tts.save('lol.mp3')
from playsound import playsound
playsound('lol.mp3')
os.remove('lol.mp3')
start()
Но это срабатывало каждый раз:
from gtts import gTTS
import os
#greetings
def start():
tts = gTTS(text="hi, its kate here! how may i help you?", lang='en' ,
slow=False)
tts.save('audio.mp3')
from playsound import playsound
playsound('audio.mp3')
os.remove('audio.mp3')
start()
Как видите, я только что изменил «lol.mp3» на «audio.mp3».
Надеюсь, что это работает.
У меня была та же ошибка, что и у вас, и, не найдя ответов, я начал проводить тесты. То, что я нашел, не очень практично, но у меня работает. В новом файле я написал этот фрагмент кода (для примера мы вызовем файл 'function_sound_file'):
from playsound import playsound
def function_sound():
playsound('complete/path/file.wav')
И в файле, в котором у меня возникла проблема, я вызываю функцию, которую создал после ее импорта (ниже).
from function_sound_file import function_sound
function_sound()
Для меня ответом было изменить имя выходного файла. Попробуйте изменить его на «audio.mp3».