Что может изменить выход звука - PullRequest
0 голосов
/ 24 июня 2019

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

Все работало нормально с Superpowered Audio,но теперь, когда я перехожу на гобой, эти сигналы больше не работают.Мой код для генерации сигнала не изменился, поэтому мне интересно, где можно изменить выход.

В моем приемнике вещания у меня есть этот фрагмент кода, чтобы установить максимальную громкость на выходе:

audioManager.setStreamVolume(
          AudioManager.STREAM_MUSIC,
          audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC),
          0);

Манифест содержит следующее:

  <uses-feature android:name="android.hardware.usb.host" android:required="true"/>
  <uses-feature android:name="android.hardware.microphone" android:required="true" />
  <uses-feature android:name="android.hardware.audio.output" android:required="true" />

  <uses-permission android:name="android.permission.RECORD_AUDIO" />
  <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

Поток воспроизведения настроен следующим образом:

builder->setCallback(this)
      ->setDeviceId(outputDeviceId)
      ->setDirection(oboe::Direction::Output)
      ->setChannelCount(oboe::ChannelCount::Stereo)
      ->setFormat(oboe::AudioFormat::I16)
      ->setSampleRate(samplerate)
      ->setSharingMode(oboe::SharingMode::Exclusive)
      ->setPerformanceMode(oboe::PerformanceMode::LowLatency)
      ->setInputPreset(oboe::InputPreset::Unprocessed);

Воспроизводится некоторый звук, я слышу его, когда слушаютак что мой обратный вызов работает правильно, но устройство не может проанализировать сигнал.Телефон не находится в режиме «Не беспокоить», и я отключил эквалайзер.

Я тестирую все это на OnePlus 5t под управлением OxygenOS 9.0.6 (Android 9), и я отсутствуетидей.

1 Ответ

0 голосов
/ 16 июля 2019

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

...