如何播放默认TICK声音?

时间:2011-10-27 10:15:15

标签: android android-mediaplayer

我想连接Android操作系统默认的滴答声(例如,当您长按主页按钮时选择的声音并选择以前的应用程序启动),然后单击我的按钮。我知道如何通过MediaPlayer播放声音,但我不知道在哪里搜索这个默认的滴答声。它必须是一些默认资源,但我找不到它。

MediaPlayer mp = MediaPlayer.create(getBaseContext(), sound);  
mp.setLooping(false);
mp.start();

任何人都可以提供帮助吗?

PS。这个声音将在onClick方法中激活 PPS。我知道我可以使用/ raw dir,但我认为不需要它。不用说,播放为用户手机准备的嘀嗒声更酷。

5 个答案:

答案 0 :(得分:60)

你可以在任何视频上使用view.playSoundEffect()方法播放默认的Android'tick'声音 - 令人惊讶的是,所有视图都可以播放一系列“系统”声音:

view.playSoundEffect(SoundEffectConstants.CLICK);

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

答案 1 :(得分:9)

如果要控制声音音量,请使用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);

如果您使用的是Google GLASS,则可以使用com.google.android.glass.media.Sounds常量

audioManager.playSoundEffect(Sounds.TAP);

声音

中包含以下内容

被拒绝,错误,成功,获取,选择,被拒绝

答案 2 :(得分:5)

Roberto Tyley的回答是正确的。

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

Button01.setOnClickListener(new View.OnClickListener() 
        {
            public void onClick(View v) 
            {
                 v.playSoundEffect(SoundEffectConstants.CLICK);   
            }
        });

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

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

答案 3 :(得分:3)

您可以Tone Generator

使用滴答声,哔哔声或任何内置声音
ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_ALARM, 100);
toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200); 

答案 4 :(得分:1)

注意:这是一个非常古老的答案。请查看下面的Roberto Tyley的答案。

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

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

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