无法通过调高音量按钮录制音频

罗尼·莱斯什(Roni Leshes)

即时通讯试图创建和应用程序的录音和播放音频。它目前有2个按钮-1个用于录制,1个用于播放最后录制的声音。当我按录音按钮时,它的工作原理很完美。

然后,我尝试通过捕获音量增大按钮的单击来使其记录。(希望在按下按钮时使其记录)。

当我尝试从增大音量按钮进行记录时,它抛出了IllegalStateException和异常。

这是我如何处理音量上的点击动作的方法:

public boolean onKeyDown(int keyCode, KeyEvent event) {
 switch(keyCode){
   case KeyEvent.KEYCODE_VOLUME_UP:
     player.startRecording();
     return true;
 }
 return super.onKeyDown(keyCode, event);
}
public boolean onKeyUp(int keyCode, KeyEvent event) {
    switch(keyCode){
    case KeyEvent.KEYCODE_VOLUME_UP:
            player.stopRecording();
            return true;
        }

    return super.onKeyUp(keyCode, event);
}

提前谢谢,不好意思的英语

肥仔

当您按住音量增大按钮时,它将连续触发onKeyDown事件。在每次这样的调用中,它都会调用player.stopRecording() ; ..这可能会导致问题,请尝试以下逻辑操作...

public class MainActivity extends ActionBarActivity {

int keyStatus=0;//public variable, 0=key released,1=key pressed

//
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
     switch(keyCode){
       case KeyEvent.KEYCODE_VOLUME_UP:
         //player.startRecording();
           if(keyStatus==0){
               keyStatus=1;//setting this to 1 to ensure that this block is called only once during the key pressed state
               Log.d("msg", "startRecording()");
           }
         return true;
     }
     return super.onKeyDown(keyCode, event);
    }
@Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {
        switch(keyCode){
        case KeyEvent.KEYCODE_VOLUME_UP:
               Log.d("msg", "stopRecording()");
               keyStatus=0;//reset keyStatus on key up event.
                return true;
            }

        return super.onKeyUp(keyCode, event);
    }

//

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MediaPlayer无法调高音量

来自分类Dev

用于调高音量的地图暂停按钮和用于调低音量的 Scroll_Lock

来自分类Dev

如何添加“调高音量,静音”键盘命令?

来自分类Dev

如何在Android应用程式中调高音量?

来自分类Dev

如何添加“调高音量,静音”键盘命令?

来自分类Dev

如何在Android应用程式中调高音量?

来自分类Dev

调低音量会延迟调用onKeyDown(同时调高音量会及时调用它)

来自分类Dev

增加已录制音频的音量输出

来自分类Dev

通过按钮控制音量

来自分类Dev

在对话框中按下音量调高按钮时隐藏UI

来自分类Dev

是否有用于ubuntu gnome 17.04的音频驱动程序,以提高音量和质量?

来自分类Dev

可以通过tvOS录制音频吗?

来自分类Dev

WebRTC:Chrome无法录制视频/音频

来自分类Dev

AVAssetWriter无法录制音频和视频| 崩溃

来自分类Dev

WebRTC:Chrome无法录制视频/音频

来自分类Dev

Kivy和音频流,无法录制

来自分类Dev

无法使用蓝牙 LE 设备录制音频

来自分类Dev

Tkinter开始/停止按钮,用于以Python录制音频

来自分类Dev

mpg321通过USB音频在高音调下播放速度过快

来自分类Dev

取消初始化通过getUserMedia开始的音频录制

来自分类Dev

如何通过蓝牙麦克风录制音频

来自分类Dev

如何通过kinect相机同时录制视频和音频

来自分类Dev

通过在 iOS 中使用 AudioQueue 录制的 WebSocket 流式传输音频

来自分类Dev

Web MediaRecorder API无法同时录制音频和视频

来自分类Dev

无法使用ffmpeg播放录制的视频和音频

来自分类Dev

为什么iOS上的后台音频录制无法正常工作?

来自分类Dev

ffmpeg无法用音频录制视频该如何解决?

来自分类Dev

dbus信号,用于调高和调低音量

来自分类Dev

按下音量调高键时更新TextView

Related 相关文章

  1. 1

    MediaPlayer无法调高音量

  2. 2

    用于调高音量的地图暂停按钮和用于调低音量的 Scroll_Lock

  3. 3

    如何添加“调高音量,静音”键盘命令?

  4. 4

    如何在Android应用程式中调高音量?

  5. 5

    如何添加“调高音量,静音”键盘命令?

  6. 6

    如何在Android应用程式中调高音量?

  7. 7

    调低音量会延迟调用onKeyDown(同时调高音量会及时调用它)

  8. 8

    增加已录制音频的音量输出

  9. 9

    通过按钮控制音量

  10. 10

    在对话框中按下音量调高按钮时隐藏UI

  11. 11

    是否有用于ubuntu gnome 17.04的音频驱动程序,以提高音量和质量?

  12. 12

    可以通过tvOS录制音频吗?

  13. 13

    WebRTC:Chrome无法录制视频/音频

  14. 14

    AVAssetWriter无法录制音频和视频| 崩溃

  15. 15

    WebRTC:Chrome无法录制视频/音频

  16. 16

    Kivy和音频流,无法录制

  17. 17

    无法使用蓝牙 LE 设备录制音频

  18. 18

    Tkinter开始/停止按钮,用于以Python录制音频

  19. 19

    mpg321通过USB音频在高音调下播放速度过快

  20. 20

    取消初始化通过getUserMedia开始的音频录制

  21. 21

    如何通过蓝牙麦克风录制音频

  22. 22

    如何通过kinect相机同时录制视频和音频

  23. 23

    通过在 iOS 中使用 AudioQueue 录制的 WebSocket 流式传输音频

  24. 24

    Web MediaRecorder API无法同时录制音频和视频

  25. 25

    无法使用ffmpeg播放录制的视频和音频

  26. 26

    为什么iOS上的后台音频录制无法正常工作?

  27. 27

    ffmpeg无法用音频录制视频该如何解决?

  28. 28

    dbus信号,用于调高和调低音量

  29. 29

    按下音量调高键时更新TextView

热门标签

归档