我想知道,对于媒体来说,处理Android中AudioManager的最佳方法是什么。
如您所知,AudiManager管理不同类型的音频,例如音乐或铃声。
如果我有一个玩声音效果和振动的应用程序,并且有3个 Activity ,那么我该如何处理此类类(class)?
-是否必须在每个 Activity 的onCreate方法上设置音量?
然后用
audioManager.setVolumeControlStream(AudioManager.STREAM_MUSIC);
-还是我必须做一个静态引用,并每次使用?
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
-或者这些是错误的,我不知道它是如何工作的?
说实话,我在3个 Activity 中遇到问题:在前2个 Activity 中,我有声音效果,而在第3个 Activity 中,只有振动。在第一个 Activity 中,声音处于“铃声模式”,其他两个处于“媒体模式”。因此音量不同,这是不好的。
最佳答案
为了使用AudioManager
,您必须拥有它的一个实例(在您要使用它的每个Activity或Service中),因此:
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
那么您可以使用它:
audioManager.setVolumeControlStream(AudioManager.STREAM_MUSIC);
无需在
OnCreate()
方法内部调用此方法,但在播放声音之前需要调用此方法。
关于android - 在Android中处理AudioManager的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19659042/