У меня проблема с моим приложением для Android, когда я запускаю Kindle Fire 7 дюймов с активным Dolby, есть недостаток в звуке, но когда эта опция отключена, проблема исчезает.
Я использую MediaPlayer для воспроизведения длинных аудиофайлов, я не могу использовать AudioPool, потому что это фоновые звуки, я уже использую SoundPool для воспроизведения эффектов.
Есть ли способ программно определить, активна ли система Dolby или нет в приложении Android?
Есть ли способ заставить MediaPlayer принимать многоканальность?
Извините за мой плохой английский :p
Я нашел способ установить свойство «dolby.ds.state» программно, но это вызвало БОЛЬШУЮ проблему, поэтому НЕ ДЕЛАЙТЕ ЭТОГО!
Этот способ:
System.setProperty("dolby.ds.state", "off");
Когда я это сделал, свойство было применено, но только при перезагрузке устройства, после того, как это было сделано, я изменил параметр меню, обычно с помощью устройства, которое все еще продолжало получать значение, установленное программно.
Если вы сделали ту же глупость, я нашел способ решить эту проблему, запустите следующий код и перезагрузите устройство:
Properties sysProps = System.getProperties();
sysProps.remove("dolby.ds.state");
System.clearProperty("dolby.ds.state");