2016-04-01 4 views
3

Я пытаюсь создать приложение для голосового календаря, которое необходимо использовать в прямом эфире из микрофона для распознавания речи.Кордова | Получите прямой эфир из микрофона на iOS

Итак, у вас есть кнопка, которая начинает слушать микрофон и автоматически останавливается, когда пользователь перестает говорить.

Я уже изучил API-интерфейс Cordova Media, который позволяет записывать данные в wav-файл. Это работает, но делает процесс очень медленным, так как мне нужно дождаться завершения записи.

Я использовал https://api.ai в качестве отправной точки для создания 1-й версии приложения, которая работает достаточно хорошо. Он позаботился обо всей «прослушивающей» части!

Следующим этапом для меня является интеграция с несколькими различными API распознавания речи.

Главной проблемой для меня было отсутствие навыков разработки на местах, поэтому есть ли плагины cordova, которые могут мне помочь?

Update 1 - 1 апреля 2016

Нашел https://subvisual.co/blog/posts/39-tutorial-html-audio-capture-streaming-to-node-js-no-browser-extensions будет пытаться реализовать это в Кордову через WebRTC.


Update 2 - 1 апреля 2016

установлен https://github.com/eface2face/cordova-plugin-iosrtc использовать WebRTC


Update 3 - 2 апреля 2016

Застрял в AudioContext.createMediaStreamSource не является функцией на iOS! AudioContext.createMediaStreamSource alternative for iOS?


Update 4 - 6 апреля 2016

Going Native - время, чтобы узнать IOS развития!

ответ

7

Извините, что вы отказались от Кордовы, но если вас все еще интересуют: я создал плагин cordova для iOS и Android, который позволяет вам захватывать данные микрофона и пересылать его на веб-уровень вашего приложения , Вы можете полагаться на Web Audio API для обработки входящего звука, или использовать любой другой способ кодирования и сохранить необработанный звук данные:

https://github.com/edimuj/cordova-plugin-audioinput

Пример использования:

function onAudioInput(evt) { 
    // 'evt.data' is an integer array containing raw audio data 
    console.log("Audio data received: " + evt.data.length + " samples"); 

    // ... do something with the evt.data array ... 
} 

// Listen to audioinput events 
window.addEventListener("audioinput", onAudioInput, false); 

// Start capturing audio from the microphone 
audioinput.start(); 
+0

Вы можете разместить ваш код из формата ссылки? – cdomination

+1

Конечно, я включил пример кода в сообщение. – Edin

+0

Спасибо. Это просто этикетка StackOverflow, так как ссылки часто становятся устаревшими/непригодными для использования, если URL изменяется, поэтому имейте это в виду для будущих сообщений. – cdomination

 Смежные вопросы

  • Нет связанных вопросов^_^