使用Threads并行生成声音和录制音频

时间:2017-03-02 04:41:45

标签: java android multithreading audio

所以基本上,我正在创建一个应用程序,只需按一下按钮,每10秒钟后会产生1秒的声音并同时记录所有其他声音。

我希望录音在10秒的暂停时间内完成。我尝试使用线程和线程中断。但在这种情况下,真的不知道如何正确使用它们。

这是我的代码:

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    playButton = (Button)findViewById(R.id.button);
    textView = (TextView) findViewById(R.id.textView);

    playButton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
           // Sound Gen Thread
            Runnable myRunnable = new Runnable() {
                @Override
                public void run() {
                    new Timer().scheduleAtFixedRate(new TimerTask() {
                       public void run() {
                            AudioTrack tone = generateTone(freq, 1000);
                            tone.play();
                        }
                    }, 0, 10000);
                }
            };
            new Thread(myRunnable).start();

            //Recording Thread

            Runnable myRunnable1 = new Runnable() {
                @Override
                public void run() {
                    doInBackground();
                }
            };
            new Thread(myRunnable1).start();
        }
    });
}

0 个答案:

没有答案