java - 单击按钮开始和停止录制

标签 java android eclipse

我正在制作一个简单的安卓应用程序来录制声音。我有一个 startRecording() 和 stopRecording() 方法。现在我实现了一个名为“Touch to record”的 ToggleButton,正如您已经想象的那样,当选中该按钮时,您必须按住录音按钮才能录制声音,当按钮处于“关闭”状态时,您必须单击以开始和然后点击停止。

这是当前代码:

touchToRecord.setOnCheckedChangeListener(new OnCheckedChangeListener(){

        @Override
        public void onCheckedChanged(CompoundButton buttonView,
                boolean isChecked) {
            if (isChecked)
            {
                recBtn.setOnTouchListener(new OnTouchListener(){

                    @Override
                    public boolean onTouch(View v, MotionEvent event) {

                        if (event.getAction() == MotionEvent.ACTION_DOWN)
                        {
                            recBtn.setImageResource(com.whizzappseasyvoicenotepad.R.drawable.record_btn_pressed);
                            chTimer.start();
                            chTimer.setTextColor(Color.GREEN);
                            startRecording();
                        }
                        else if (event.getAction() == MotionEvent.ACTION_UP)
                        {
                            recBtn.setImageResource(com.whizzappseasyvoicenotepad.R.drawable.record_btn);
                            chTimer.stop();
                            stopRecording();
                            nameAlert();
                        }
                        return true;
                    }

                });
            }
            else
            {
                //onClickListener
            }
        }

    });

现在我不确定如何制作 onClickListener。如果我尝试这样做:

recBtn.setOnClickListener(new OnClickListener(){

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub

                    }

                });

它不会工作,因为它在 setOnClickListener 下划线并说:

The method setOnClickListener (View.OnClickListener) in the type View is not applicable for the arguments (new DialogInterface.OnClickListener(){})

此外,在我完成这项工作后还有一件事;如何检查该方法是否已使用 if 语句运行?我想做这样的事情:

if (startRecording == isRunning)
{
    stopRecording();
}

最佳答案

您可以尝试使用 android 切换按钮。请查看更多信息:

http://developer.android.com/guide/topics/ui/controls/togglebutton.html

关于java - 单击按钮开始和停止录制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18220316/

相关文章:

java - 我想编写代码来用Java更新mysql数据。这是我的代码。它给出这样的错误 :

java - 使用 Jersey 加密 RESTful 服务的数据

java - 需要一种可中断的方式来监听工作线程中的 UDP 数据包

android - 大位图内存不足异常

Eclipse, SVN 问题

java - 在 Linux 上安装最新的 Java 版本

java - oracle java 8 安装程序在 ubuntu 18.04 上通过 dockerfile 失败

android - 在 Android 中读取大型列表以获取 AutoCompleteTextView

java - 返回之前的搜索结果

c++ - "launching ' 项目 ' has encountered ..",项目文件不存在