为了记录,我不会问如何使用MediaPlayer以编程方式播放声音。我知道如何做得很好。
我首先搜索了如何替换XML中Button的默认单击声。但我还没有发现这是否可能。大多数答案建议使用MediaPlayer在Button的onClick()事件中的某处播放声音效果,所以我认为这是最好的方法吗?
如果我在点击按钮时使用MediaPlayer播放声音,我是否也必须禁用默认点击声音,或者同时播放,或Android会知道忽略默认点击声音?我应该在播放自己的声音之前在Button上调用setSoundEffectsEnabled(false)吗?
对我来说,我不能仅仅取代按钮的默认咔嗒声(这可能会这样做吗?)
答案 0 :(得分:0)
只需在定义到android:soundEffectsEnabled=false
res/styles.xml
即可
或以编程方式:
myButton.setSoundEffectsEnabled(false);
答案 1 :(得分:0)
您也可以查看此链接:Playing sound effect (CLICK/NAVIGATION_RIGHT) for button clicks - Android
似乎声音效果保持为android.view.SoundEffectConstants.<value>
相应地,可能有一种方法可以添加自己的自定义声音
所有关于将您想要听到的音效值传递到<view variable>.playSoundEffect(<sound effect value>);
所以您可以尝试将您的声音添加到res
并使用其R值调用该方法