@sdrom

При работе этого кода в некоторых приложениях (zoom, skype и тд.) перестает работать звук. Как это исправить?

Когда я запускаю код в винде, в некоторых прогах пропадает звук, помогает только закрытие и открытие программы заново. Как это решить или почему это происходит?

Часть кода, где вероятно кроется проблема:
#модули
import pyttsx3
import os
import time
from datetime import datetime
import speech_recognition
import random
import webbrowser
import sounddevice as sd
import requests
import wave
import sys
import pyaudio
from random import choice

#шапка
os.system('cls' if os.name == 'nt' else 'clear')
print("НАЗВАНИЕ ПРОГРАММЫ")

def record_and_recognize_audio(*args: tuple):
    with micro:
        recognized_data = ""

        # тут шумодав шум давит
        recognizer.adjust_for_ambient_noise(micro, duration=2)


        try:
            bip()
            try:
                print("Скажите что-нибудь, например: '", rec2, "'")
            except:
                print("Назовите своё имя.")
            audio = recognizer.listen(micro, 5, 5)

        except speech_recognition.WaitTimeoutError:
            print("Ошибка системы распознования 003. Проверьте микрофон.")
            t = "У вас что-то не так с микрофоном!"
            run()
            return
                

        # отправка запроса на google 
        try:
            print("Ищу ответ в базе...")
            recognized_data = recognizer.recognize_google(audio, language="ru").lower()

        except speech_recognition.UnknownValueError:
            pass

        # если нет интернета - пишем ошибку
        except speech_recognition.RequestError:
            print("Ошибка системы распознования 002. Дайте доступ в Интернет.")
            t = "Кажется, у вас пропал интернет!"
            run()
            exit()
        try:
            return recognized_data
        except:
            print("Ошибка системы распознования 001.")


#синтез речи
f = open("tts.txt", "r")
tts1 = int(f.read(1))
f.close()
text = ""
tts = pyttsx3.init()
voices = tts.getProperty('voices')
tts.setProperty('voice', voices[tts1].id)



def bip():
    wf = wave.open('on.wav')
    p = pyaudio.PyAudio()
    chunk = 1024
    stream = p.open(format =
                p.get_format_from_width(wf.getsampwidth()),
                channels = wf.getnchannels(),
                rate = wf.getframerate(),
                output = True)
    data = wf.readframes(chunk)
    a = 0
    while a < 500:
        stream.write(data)
        data = wf.readframes(chunk)
        a = a + 1 

def run():
    print("Ассистент:", t)
    tts.say(t)
    tts.runAndWait()
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы