Кнопка Стоп при записи звука с помощью AudioRecord - PullRequest
0 голосов
/ 13 января 2011

На данный момент у меня есть код с этого сайта ( текст ссылки ), который отлично работает.В примере на сайте он начинает запись на 10 секунд, а затем сразу же воспроизводит звук в обратном порядке.Я изменил код, чтобы начать запись при нажатии кнопки, но могу заставить его записывать только 10 секунд, а затем сохранить этот файл.Я хочу иметь возможность начать запись, нажав кнопку, а затем остановить запись нажатием другой кнопки.У меня есть идея, что это может быть прерывание для метода wait () объекта потока, но я не знаю, как это реализовать.Мой код выглядит следующим образом:

public void onClickRecord(View v){
        text.setText("Recording");
        Thread thread = new Thread(new Runnable() {
            public void run() {
                record();
            }
        });

        thread.start();

        synchronized(this) {
        try {
            wait(10000); //This is the 10 second waiting period while recording
        } 
        catch (InterruptedException e) {
        }
        }

        isRecording = false;

        try {
            thread.join();
        } catch (InterruptedException e) {
        }

    }
    public void onClickStop(View v){
        //Here is what needs to be implemented to stop the recording.
    }

Код довольно большой, поэтому я разместил только те фрагменты, которые я считаю актуальными.Если что-то еще нужно, просто спросите.

Спасибо.

1 Ответ

0 голосов
/ 13 января 2011

попробуйте класс AudioRecord! Я думаю, что это должно быть полезно.

Также посмотрите AudioCapture здесь http://developer.android.com/guide/topics/media/index.html

...