Как получить доступ к аудиопотоку устройства или любого приложения Android [дубликат]

Добавление еще нескольких замечаний к Jason's Answer:

Для принятия всех аргументов, предоставленных пользователем: user_args = sys.argv [1:]

Рассмотрим sys.argv как список строк (упомянутый Джейсоном). Таким образом, все манипуляции с списками будут применяться здесь. Это называется «Срезание списка». Для получения дополнительной информации посетите здесь .

Синтаксис выглядит следующим образом: list [start: end: step]. Если вы опустите начало, по умолчанию будет 0, и если вы опустите конец, по умолчанию будет указан список.

Предположим, вы хотите только принять все аргументы после третьего аргумента, а затем:

  user_args = sys.argv [3:]  

Предположим, вам нужны только первые два аргумента, а затем:

  user_args =  sys.argv [0: 2] или user_args = sys.argv [: 2]  

Предположим, что вам нужны аргументы от 2 до 4:

  user_args = sys  .argv [2: 4]  

Предположим, что вы хотите использовать последний аргумент (последний аргумент всегда равен -1, так что происходит здесь, мы начинаем отсчет со спины, поэтому начало - последнее, нет!)

  user_args = sys.argv [-1]  

Предположим, что вы хотите второй последний аргумент:

  user_args = sys.argv [-2]  

Предположим, что вам нужны два последних аргумента:

  user_args = sys.argv [-  2:]  

Предположим, что вам нужны последние два аргумента. Здесь начинается -2, это второй последний элемент, а затем до конца (обозначается символом «:»):

  user_args = sys.argv [-2:]  [  ! d31] 

Предположим, вы хотите все, кроме двух последних аргументов. Здесь начало равно 0 (по умолчанию), а end - второй последний элемент:

  user_args = sys.argv [: - 2]  

Предположим, вы нужны аргументы в обратном порядке:

  user_args = sys.argv [:: - 1]  

Надеюсь, это поможет.

32
задан user2330482 16 July 2013 в 13:08
поделиться

4 ответа

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

Метод захвата системы Android Audio

В любом случае большая часть Это нереальный вариант.

Это еще один вопрос, связанный с этим: android получить общий аудиовыход устройства в pcm

15
ответ дан Community 15 August 2018 в 18:23
поделиться

Ближайший API, доступный вам для этих целей, - Visualizer . Что только фиксирует «частичный и низкокачественный аудиоконтент».

Я предполагаю, что функция прямого аудиозахвата не используется для предотвращения приложений, связанных с пиратством. Возможно, стоит отметить, что существует разрешение CAPTURE_AUDIO_OUTPUT , но оно «не используется сторонними приложениями». Поэтому, если у вас действительно есть законные приложения, способные на это, как вы утверждаете, они, скорее всего, системные приложения. Даже если вы написали приложение, которое генерировало его собственные музыкальные последовательности, например, вам все равно придется писать свой собственный кодировщик / декодер, чтобы достичь чего-то близкого к тому, о чем вы просите (и это даже не считалось бы захватом звука на эта точка.)

Чтобы сказать прямо, в настоящее время невозможно без нарушения каких-либо ToS с помощью Google или вашего провайдера телефона и, вероятно, останется таким неопределенным.

9
ответ дан b1nary.atr0phy 15 August 2018 в 18:23
поделиться
  • 1
    Есть много приложений для улучшения звука, таких как DSP-менеджер, и в моем случае VIPER они должны иметь доступ к аудиовыходу системы (весь выход выходит из периферии)? В противном случае, как бы улучшить качество звука? Если это так, то функция-запрос на сохранение расширенного вывода в дополнение к потоковой передаче от разработчика должна служить цели, если это не так, или я чего-то не хватает? – reubenjohn 15 September 2014 в 19:03
  • 2
    @reubenjohn Применение фильтров (например, использование эквалайзера) к аудиовыходу равно , а не , эквивалентное фактическому захвату вывода. См. AudioEffect API . – b1nary.atr0phy 15 September 2014 в 20:27

TL; DR: используйте приложение SCR Screen Recorder для захвата видео + внутреннего звука (не микрофона) [требуется корень]

Длинный ответ

Оригинальный ответ: Записать экран планшета И аудио

Ответ Джеффа, кажется, единственный способ, которым вы можете воспользоваться через adb.

Я мог бы сделать это следующим образом:

- connect the Android device to computer with a jack cable (headphone output to microphone input);
- record video with adb shell;
- record audio with Audacity (or anything else)
- then merge video and audio with a video editor (pitivi, openshot, avconv...)

Еще один способ: прямое использование приложения android:

SCR Screen Recorder :

Mobizen для SAMSUNG:

  • профи в Google play store
  • минус только версия samsung работает для записи внутреннего звука, общая или LG, версия XIAOMI не может записывать внутренний звук, а бета-функция требует root для записи внутреннего аудио

RecMe:

  • профи в google play store
  • cons внутренняя запись звука не работает на большинстве устройств, для которых требуется root для записи внутреннего аудио

Лично я пробовал много приложений, и единственное, что работает для меня, это SCR Screen Recorder.

PS: все эти приложения работают без root, если не используют внутренний звук.

2
ответ дан noraj 15 August 2018 в 18:23
поделиться

Просто используйте двунаправленный кабель AUX и закрепите его в телефоне. Порт для наушников и подключите его к другому каналу аудиоканала «Линейный вход» (или независимо от того, какой вход у вас есть на вашем аудиоинтерфейсе), а затем записывайте этот вход смелостью или любой хороший аудиорекордер.

5
ответ дан Sir l33tname 15 August 2018 в 18:23
поделиться
  • 1
    Я не могу сказать это каждому из моих пользователей – user2330482 11 February 2015 в 12:39
Другие вопросы по тегам:

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