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()
  • Вопрос задан
  • 397 просмотров
Пригласить эксперта
Ответы на вопрос 2
@alex1478
Яндекс отдаёт либо opus, либо PCM, но не mp3. Возможно дело в этом.
Ответ написан
JackShcherbakov
@JackShcherbakov
У меня была на днях похожая ошибка. Правда с фотографией с веб камеры. Проблема оказалось в том, что вес base64 строки слишком большой чтобы быть отправленным HTTP запросом. Проблему решил уменьшением разрешения фотографии.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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