0

我有一个按钮,我已经设置了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 的功能来判断这一点,其中 BoomSound 图标显示通过 MediaPlayer 的任何内容。

对此有什么想法吗?

谢谢!

4

1 回答 1

1

经过大量的试验和错误,我设法自己找到了答案。请注意,这是针对我的要求的。

如前所述,我想播放类似于通知的声音。这意味着与正在播放的文件MediPlayer或文件相比,通知的音量控制是不同的。AudioManager

所以这样做的方法是:

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()方法中并播放声音。这使用户可以选择分别控制音频和通知音量。

于 2016-06-02T05:51:25.193 回答