0

我想知道,对于媒体来说,在 Android 中处理 AudioManager 的最佳方法是什么。如您所知,AudiManager 管理不同类型的音频,如音乐或铃声。

如果我有一个应用程序播放音效和振动,有 3 个活动,我该如何处理这个类?

- 我必须在每个活动的 onCreate 方法上设置音量吗?然后使用它

audioManager.setVolumeControlStream(AudioManager.STREAM_MUSIC);

- 或者我必须做一个静态引用,并且每次都使用它?

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

- 或者这些是错的,我不明白它是如何工作的?

说实话,我在我的 3 个活动中处理这个问题:在前 2 个活动中,我有声音效果,在第 3 个活动中,只有振动。在第一个活动中,声音处于“铃声模式”,另外两个“媒体模式”。所以音量不同,这是不好的。

4

1 回答 1

2

为了使用AudioManager你必须有它的一个实例(在你想使用它的每个活动或服务中),所以:

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

那么你可以使用它:

audioManager.setVolumeControlStream(AudioManager.STREAM_MUSIC);

这不需要在OnCreate()方法内部调用,但需要在播放声音之前调用。

于 2013-10-29T13:31:11.160 回答