проблема со звуком через гарнитуру при входящем вызове

Ответить
alex.ok
Сообщения: 12
Зарегистрирован: 11 ноя 2013, 16:30

проблема со звуком через гарнитуру при входящем вызове

Сообщение alex.ok » 09 сен 2015, 14:15

Проблема такая.
В приложении перед воспроизведением звука запрашивается аудиофокус. поток STREAM_MUSIC.
Если при воспроизведении звука через гарнитуру происходит входящий звонок, звук останавливается, медиаплееру делается stop, release, присваивается null, так и задумано.
Но если потом опять продолжить (или начать заново) воспроизведение звука, куда-то пропадают все низкие частоты.
Помогает их вернуть либо передергивание наушников, либо запуск другого плеера, либо в настроках системы прослушать звук звонка например.
При этом если не входящий звонок а другое приложение, например плеер, отбирает аудиофокус, то такого эффекта не наблюдается.
И такая беда только при входящем звонке.
Методом audiomanager.getMode() уже проверил, он не меняется.
Ясное дело нужно копать где-то в аудиофокусе, т.к. если его не запрашивать, то звук не портится.
Может кто сталкивался, или у кого есть какие мысли где копнуть?

P.S. Продолжаю ковырять тему.
Что выяснилось, такой баг только на моем телефоне alcatel idol 2 (4.4.2), на еще двух такого эффекта не наблюдается - sony tipo и lenovo 315, у всех андройд 4+
Но, на моем алкателе есть в прошивке возможность устанавливать несколько звуковых эффектов при подключенной гарнитуре - рок/поп, и т.п. А на тех двух других - нет. Так вот когда входящий звонок прерывает проигрывание, она (система) как -будто включает какой-то эффект, и потом его не отключает. В этом списке эффектов для гарнитуры ничего не перещелкивается при этом. Но если самому туда-сюда переключить, то выше указанный баг пропадает.
И я бы забил на эту проблему, но другие плееры как-то это обходят.
пробовал делать unloadSounEffects() - не дает результата, наверное это для других эффектов.

Нет ни у кого мыслей, как победить беду?

Ответить