Cordova / Javascript аудиозапись - PullRequest
0 голосов
/ 29 декабря 2018

Я немного поработал над новым приложением, используя Cordova, VueJs и Onsen UI (для VueJs), и теперь я хочу реализовать, используя микрофон на устройстве Android или iOS, записывая немного аудио и отправляяэто в Google Speech to Text API.

Я понимаю, как данные будут отправляться в API, но моя главная проблема заключается в том, как записать данные с мобильного устройства и использовать их (временно, не сохраняяк самому устройству, если нет сетевого подключения, тогда данные должны быть сохранены, и запрос к API должен быть поставлен в очередь, пока не будет стабильного сетевого подключения).

Есть пара вещей, которые мне нужныреализовать: - Выбираемый битрейт - Определение того, сколько места осталось на устройстве для расчета максимальной длины записи (приятно иметь) - Более длительное время записи (пока есть место в основном или ограничение его, если его нет (просто)способ разрезать его на несколько частей) - Возможность реализовать пользовательский интерфейс

Я искал несколько способов сделатьэто, но большинство руководств / руководств / документов устарели, содержат устаревшие функции / методы или имеют установленный пользовательский интерфейс.

Я пробовал большинство рекомендуемых плагинов Cordova, единственный, который работал, имел установленный пользовательский интерфейс, которыймне не нужно, пользовательский интерфейс необходим для приложения, над которым я работаю.Также в списке того, что я пробовал, есть getUserMedia(), прямо на моем iPhone с использованием инструментов разработчика Safari, который вернул undefined.

Пожалуйста, исправьте меня, если я ошибаюсь и пропустил некоторые удивительные нативные функцииили какой-нибудь пакет npm / плагин Cordova.

Любые предложения или ссылки приветствуются!

Редактировать: Подводя итог, я ищу основной путь (для обеих платформ, желательно с использованием одного и того жекод), чтобы записать аудио, временно сохранить его, если требуется, и делать что-то с ним (например, отправив его в API).

Редактировать 2: Клиент только что дал несколько новых запросов, которые довольно сильно изменили область приложениянемного.Одним из запрошенных изменений (и для клиента это самая важная функция) является сохранение аудиофайла, записанного пользователем, чтобы его можно было воспроизвести в любой момент.Синхронизация между устройствами не будет применяться.Вопрос в основном остается тем же, но мне нужно сохранить записанный звук.

1 Ответ

0 голосов
/ 11 января 2019

Для очень простого использования вы пробовали стандартный плагин?Я знаю, что вы сказали, что вы уже протестировали некоторые плагины, но я использовал в каком-то старом любимом проекте, и он работал, так что, возможно, это проблема с вызовом плагина:

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-media/index.html#mediastartrecord

Это очень просто, если вам нужно больше контроля, я боюсь, что вам нужно создать собственный плагин, используя нативный код.Мы сделали что-то подобное для доступа к эквалайзеру Android и другим функциям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...