【问题标题】:Adding beep on key press in Android doesn't work在 Android 中添加按键蜂鸣声不起作用
【发布时间】:2014-02-21 12:00:26
【问题描述】:

在我的Custom IME 中,当用户按下该键时,我想在该键上播放BEEP 声音。

我找到了 how-do-i-access-androids-default-beep-sound ,并在我的 SoftKeyboard.java 类中添加了该代码:

public void onKey(int primaryCode, int[] keyCodes) {
    // play sound on keypress
    try {
        MediaPlayer mMediaPlayer = MediaPlayer.create(context, R.raw.beep);
        mMediaPlayer.prepare();
        mMediaPlayer.start();
    } catch (Exception e) {e.printStackTrace();}
}

但这不起作用,有什么想法吗?

【问题讨论】:

  • 很可能,默认通知铃声尚未设置(还)。你是在模拟器上测试这个吗?
  • @shoerat 是的,我正在模拟器上测试
  • 另外,请不要吞下这样的异常,如果出现问题,你不会知道的 - 在你的 catch() 中添加 e.printStackTrace()
  • 那是你的问题。在真机上测试或设置通知铃声。
  • @shoerat 我该如何设置那个!请指导我?

标签: android


【解决方案1】:

我不必要地调用了 mMediaPlayer.prepare(),因为在使用它的 create() 方法创建 MediaPlayer 时不需要它。这是对我有用的解决方案

public void onKey(int primaryCode, int[] keyCodes) {
    // play sound on keypress
    try {
        MediaPlayer mMediaPlayer = MediaPlayer.create(context, R.raw.beep);

        mMediaPlayer.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    相关资源
    最近更新 更多