android:soundeffectsenabled是否会覆盖手机上的全局设置?

时间:2016-05-31 04:04:40

标签: android button soundeffect

我有一个按钮,我设置了android:soundeffectsenabled="true"。 但这不会触发我在onClick()方法中调用的声音效果。

@Override
public void onClick(View v) {
    int id = v.getId();
    switch (id)
    {
        case(R.id.button):
            button.playSoundEffect(SoundEffectConstants.CLICK);
            break;
    }
}

因此想知道将此属性用于按钮或任何其他视图。

我注意到,例如,Whatsapp在不调用MediaPlayer的情况下播放效果。我可以通过我的HTC One M-8如何在通过MediaPlayer的任何地方显示BoomSound图标来实现这一点。

有关于此的任何想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

经过大量的反复试验,我自己找到了答案。请注意,这是我的要求所特有的。

如上所述,我想播放一个类似通知的声音。这意味着与正在播放的MediPlayerAudioManager文件相比,通知的音量控制不同。

所以这样做的方法是:

Uri clickSoundUri = Uri.parse("android.resource://" + **your.package.name** + "/" + **resource of a sound file in the res/raw folder**); Ringtone r = RingtoneManager.getRingtone(context, clickSoundUri); r.play();

多数民众赞成。您可以将此代码放在按钮的onClick()方法中并播放声音。这使用户可以选择分别控制音频和通知卷。