В своем приложении я работаю с пользовательской моделью для речевых команд - у меня она работает нормально, записывая и обрабатывая входящий звук из AudioRecord, и я даю обратную связь пользователю посредством преобразования текста в речь.
Одна из проблем, с которыми я сталкиваюсь, заключается в том, что я хотел бы, чтобы это работало, даже когда воспроизводится звук - либо через мой собственный текст в речь, либо через что-то еще, играющее на заднем плане (например, музыка). Я понимаю, что это будет нетривиальной проблемой, но если бы я мог каким-то образом получить доступ к аудиовыходным данным (то, что воспроизводит телефон) и сопоставить их с входными данными моего микрофона, я думаю, что я по крайней мере могу настроить моя модель для этого + улучшить мои результаты.
Однако на основе Android - можно ли получить аудиоданные для воспроизведения из аудиомикшера? , звучит так, что это невозможно.
Два вопроса:
1) Есть ли какой-то способ, которым мне не хватает, чтобы получить доступ к ожидаемым аудиовыходам / данным о воспроизведении через Android API, или какие-либо опции, которые предоставляет Android API для решения этой проблемы (петля обратной связи между аудиовыходом и входом )
2) Помимо остановки всего другого воспроизведения или ожидания завершения другого воспроизведения - есть ли другой подход для решения этой проблемы? Я хотел бы предположить, что некоторые вызывающие приложения могут справиться с этим, если пользователь разговаривает по громкой связи, я просто не понимаю, как это сделать сам
Спасибо