#android #audio-streaming
#Android #потоковое аудио
Вопрос:
Возможно ли, чтобы приложение Android, работающее в фоновом режиме, получало доступ к звуку, создаваемому медиаплеером (для записи в другой файл, потоковой передачи и т.д.)? Будет ли приложение считывать данные со звукового порта? Как это будет работать, если это возможно? Какие-либо существующие приложения?
Ценю любую помощь / указания.
Ответ №1:
Нет.
Или, точнее: на неизмененном устройстве Android нет функции возврата звука или сквозной передачи.
http://developer.android.com/reference/android/media/MediaRecorder .AudioSource.html перечислены все источники звука, доступные для классов MediaRecorder и AudioRecorder.
Теперь, если вы готовы написать драйвер устройства и у вас есть возможность рутировать целевое устройство и загружать на него свой драйвер, вы могли бы реализовать драйвер обратной связи, сквозной драйвер или (что гораздо интереснее) альтернативное устройство вывода звука, которое выполняло бы вашу потоковую передачу / запись, а затем перенаправляло на обычный вывод звука.
Комментарии:
1. Что ж, возможно: если покопаться в android.git.kernel.org/?p=platform/packages/apps / … вы можете найти интерфейс IMediaPlayerService, который использует медиаплеер платформы. Это дает кучу информации о том, что воспроизводится в данный момент, и, что особенно важно, существует метод «getPath ()». Не совсем уверен, что оно вернет при воспроизведении потока, но вы можете извлечь из этого некоторую пользу.
Ответ №2:
Чтобы настроить вывод звука с устройства Android, вы можете использовать класс MediaRecorder, как показано в этом руководстве.
Но запись звукового файла, который уже существует (на SDcard или что-то еще), не имеет для меня никакого смысла.
Комментарии:
1. Спасибо. Можем ли мы сохранить вывод в памяти и транслировать его? или передавать вывод в потоковом режиме?
2. Я не знаю ни одной стандартной функции, которая позволяла бы передавать музыку на другое устройство с Android. Возможно, для этого есть библиотека, но я не знаю ни одной.