san*_*one 13 android android-mediaplayer
我想连接Android操作系统默认的滴答声(例如,当您长按主页按钮时选择的声音并选择以前的应用程序启动),点击我的按钮.我知道如何通过MediaPlayer播放声音,但我不知道在哪里搜索这个默认的滴答声.它必须是一些默认资源,但我找不到它.
MediaPlayer mp = MediaPlayer.create(getBaseContext(), sound);
mp.setLooping(false);
mp.start();
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
PS.这个声音将在onClick方法中激活.
PPS.我知道我可以使用/ raw dir,但我认为不需要它.更不用说,播放为用户手机准备的嘀嗒声更酷.
Rob*_*ley 63
您可以使用view.playSoundEffect()任何视图上的方法播放默认的Android'tick'声音- 令人惊讶的是,所有视图都可以播放一系列"系统"声音:
view.playSoundEffect(SoundEffectConstants.CLICK);
Run Code Online (Sandbox Code Playgroud)
这可能是你问题最简单的答案:)
aar*_*gas 10
如果要控制声音音量,请使用AudioManager系统服务.如果您没有方便的视图,可以从服务中使用此功能.
// get the AudioManager once onCreate or similar
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
...
// Play a System Sound
audioManager.playSoundEffect(SoundEffectConstants.CLICK);
// OR at 50% Volume
audioManager.playSoundEffect(SoundEffectConstants.CLICK, 0.5F);
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Google GLASS,则可以使用com.google.android.glass.media.Sounds常量
audioManager.playSoundEffect(Sounds.TAP);
Run Code Online (Sandbox Code Playgroud)
声音中包括以下内容
被拒绝,错误,成功,TAP,已选择,已取消
您可以通过Tone Generator使用滴答声、哔声或任何类型的内置声音
ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_ALARM, 100);
toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200);
Run Code Online (Sandbox Code Playgroud)
Roberto Tyley的回答是正确的.
您可以通过以下方式调用来播放每个视图中的声音:
Button01.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
v.playSoundEffect(SoundEffectConstants.CLICK);
}
});
Run Code Online (Sandbox Code Playgroud)
请注意,默认情况下,如果触摸声音关闭,声音将无法播放.这是在常规设备声音首选项中设置的(设置 - >声音 - >声音或更新的操作系统:选项>声音>触摸)
此外,如果设置了此设置,大多数点击事件都会触发咔嗒声!
注意:这是一个相当古老的答案。请查看下面罗伯托·泰利的回答。
我认为你正在寻找的声音是并且正在 -/system/media/audio/ui/KeypressStandard.ogg
我认为您可以将该路径提供给SetDataSource媒体播放器的 API。但我不太确定它是否会在所有 Android 手机中具有相同的名称。
可能有更好的方法来查询默认点击声音。