tundramani
@tundramani

Как получить аудиофайл из Yandex SpeechKit?

Есть php-функция которая получает от клиента текст и сохраняет mp3-файл:
...
$soundfile = file_get_contents("https://tts.voicetech.yandex.net/generate?".$ххх, false, $yyy);
file_put_contents('1.mp3',$soundfile); //сохранение работает
echo(base64_encode($soundfile)); //пытаюсь отправить файл клиенту


Хочу на клиенте получить base64 и прикрутить его к тегу audio, и запустить с помощью howler.js:

Клиент получает ajax-ответ:

audio.src = запрос.responseText  //элемент audio
audio.play() // и тишина

var sound = new Howl(
{
src: [запрос.responseText],
format: ['mp3'] 
})
sound.play()  //и тишина


Где ошибка?

а вот так работает:
audio.src = '1.mp3'
audio.play()
  • Вопрос задан
  • 349 просмотров
Пригласить эксперта
Ответы на вопрос 2
@alex1478
Яндекс отдаёт либо opus, либо PCM, но не mp3. Возможно дело в этом.
Ответ написан
JackShcherbakov
@JackShcherbakov
У меня была на днях похожая ошибка. Правда с фотографией с веб камеры. Проблема оказалось в том, что вес base64 строки слишком большой чтобы быть отправленным HTTP запросом. Проблему решил уменьшением разрешения фотографии.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы