# #go #websocket #google-speech-api #dialplan #asterisk-ari
Вопрос:
В своем проекте я разрабатываю сервер websocket в голанге, который управляет каналом asterisk через ARI и выполняет транскрипцию звука в реальном времени на том же канале с помощью google-speech-api. При подключении я хочу сохранить аудио с канала asterisk в файл, одновременно отправляя аудио в Google, и получить расшифровку. Аудио отправляется приложением asterisk audiofork, чтобы я мог управлять каналом с помощью ARI, пока аудио передается в другом потоке.
Проблема в том, что когда я отправляю кадры в Google, я получаю ошибку EOF на первом и каждом последующем кадре, который я отправляю со своего сервера, но когда я конвертирую двоичный файл с сохраненными кадрами в wav с помощью sox, я получаю запись звука на канале, поэтому кадры, отправленные audiofork, не повреждены. Может ли кто-нибудь дать мне какой-либо совет, как заставить google-speech-api сотрудничать со мной?
Ответ №1:
Это довольно смущает, но это была просто глупая ошибка с моей стороны, потому что в моей функции создания клиента Google я поставил закрытие клиента на отсрочку, поэтому, когда моя функция перенастроила переменную клиента речи, она была автоматически закрыта той же функцией, поэтому после исправления все работает так, как задумывалось.