Лучший способ справиться с AudioManager в Android

Мне интересно, как лучше всего обращаться с AudioManager в Android для медиа. Как вы знаете, AudiManager управляет различными типами аудио, такими как музыка или мелодия звонка.

Если у меня есть приложение, играющее звуковые эффекты и вибрирующее, с 3 занятиями, как я должен справиться с этим классом?

- Нужно ли устанавливать громкость для метода onCreate в каждом упражнении? Тогда используйте это

audioManager.setVolumeControlStream(AudioManager.STREAM_MUSIC);

-Или мне нужно сделать статическую ссылку и использовать ее каждый раз?

AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

- Или это неправильно, и я не понял, как это работает?

Честно говоря, у меня проблемы с этим в моих 3-х действиях: в первых 2-х действиях у меня есть звуковой эффект, а в 3-м - только вибрация. В первом упражнении звук находится в "режиме мелодии звонка", а в двух других - в "режиме мультимедиа". Так что громкость звука отличается, что плохо.

1 ответ

Для того, чтобы использовать AudioManager у вас должен быть его экземпляр (в каждой деятельности или услуге, которую вы хотите использовать), поэтому:

AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 

тогда вы можете использовать его:

audioManager.setVolumeControlStream(AudioManager.STREAM_MUSIC);

Это не нужно вызывать внутри OnCreate() метод, но должен быть вызван перед воспроизведением звука.

Другие вопросы по тегам