在我的应用程序中,为了捕获卷键事件,我重写了onKeyDown()和onKeyUp()函数。我使用这些事件来控制我的应用程序卷。我用音乐流来播放我的声音。当检测到这样的事件时,我还会显示一个定制的吐司(类似于Android所显示的)。我面临的问题是:
我想要的是以以下方式控制默认声音的播放强度(也是播放的流):如果可能的话,音量更大,音量更低,声音更低。或者一种方法,可以禁用默认声音,并按我刚设置的强度播放我的自定义声音。
发布于 2011-06-16 12:47:09
实际上,声音是在onKeyUp(.)上播放的,因此,当方法被调用到卷键时,您可以简单地重载活动中的方法:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP) || (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) {
return true;
}
return super.onKeyUp(keyCode, event);
}(这对我有用:)
发布于 2011-01-27 20:52:19
这很奇怪,因为我正在编写类似的功能,而Android似乎在提升流音量时会播放更响的声音。
am.setStreamVolume(AudioManager.STREAM_MUSIC, progress,AudioManager.FLAG_PLAY_SOUND);这就是我在我的应用程序中使用的。am是AudioManager的实例,您可以通过编写:
AudioManager am = (AlarmManager) getSystemService(AUDIO_SERVICE);要禁用声音,您可以将AudioManager.FLAG_PLAY_SOUND替换为"0“值--应该禁用它的值。
我不确定是否可以在AudioManager中替换这些声音,但是您可以在onKeyDown方法中使用MediaPlayer播放这些自定义声音。
希望这能有所帮助。
https://stackoverflow.com/questions/4500354
复制相似问题