android:soundeffectsenabled 是否会覆盖 phone 上的全局设置?
Does android:soundeffectsenabled override the global settings on the phone?
我有一个按钮,我已经设置了 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 图标。
对此有什么想法吗?
谢谢!
经过反复试验,我自己找到了答案。请注意,这是我的特定要求。
如前所述,我想像通知一样播放声音。这意味着通知的音量控制与正在播放的 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()
方法中并播放声音。这使用户可以选择单独控制音频和通知音量。
我有一个按钮,我已经设置了 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 图标。
对此有什么想法吗?
谢谢!
经过反复试验,我自己找到了答案。请注意,这是我的特定要求。
如前所述,我想像通知一样播放声音。这意味着通知的音量控制与正在播放的 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()
方法中并播放声音。这使用户可以选择单独控制音频和通知音量。