如何播放默认TICK声音?

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)

这可能是你问题最简单的答案:)

  • 通过在布局中添加`android:soundEffectsEnabled ="true"`解决.谢谢! (5认同)

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,已选择,已取消


Pan*_*lan 6

您可以通过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)


Bar*_*urg 5

Roberto Tyley的回答是正确的.

您可以通过以下方式调用来播放每个视图中的声音:

Button01.setOnClickListener(new View.OnClickListener() 
        {
            public void onClick(View v) 
            {
                 v.playSoundEffect(SoundEffectConstants.CLICK);   
            }
        });
Run Code Online (Sandbox Code Playgroud)

请注意,默认情况下,如果触摸声音关闭,声音将无法播放.这是在常规设备声音首选项中设置的(设置 - >声音 - >声音或更新的操作系统:选项>声音>触摸)

此外,如果设置了此设置,大多数点击事件都会触发咔嗒声!


blu*_*con 1

注意:这是一个相当古老的答案。请查看下面罗伯托·泰利的回答。

我认为你正在寻找的声音是并且正在 -/system/media/audio/ui/KeypressStandard.ogg

我认为您可以将该路径提供给SetDataSource媒体播放器的 API。但我不太确定它是否会在所有 Android 手机中具有相同的名称。

可能有更好的方法来查询默认点击声音。