Запись голоса на телефоне Android - PullRequest
1 голос
/ 09 декабря 2010

Я хочу записать Голос на свой андроид телефон, и я понятия не имею, как это сделать.Я много искал, но не смог найти ничего полезного.

Может кто-нибудь есть решение этой проблемы особенно.

Спасибо, Дэвид

Ответы [ 2 ]

2 голосов
/ 09 декабря 2010
0 голосов
/ 09 декабря 2010

Зависит от того, какой голос вы хотите ^^

, если вы хотите создать приложение для заметок / диктофона, тогда прочитайте

, если вы пытаетесь записать разговор, тогда это невозможно в данный моментПо крайней мере (поверьте мне, я провожу 1 месяц в поисках этого с моими коллегами).

, поэтому, если вы хотите записать свой голос, попробуйте это:

public class StreamerAudio implements Runnable {

    private static FileOutputStream fOut;
    public static boolean isRecording = false;
    private int buffersize;
    private static AudioRecord arec;

    private int encoding = AudioFormat.ENCODING_PCM_16BIT; 
    private int audioChannel = AudioFormat.CHANNEL_CONFIGURATION_DEFAULT;

    private int audioSource = MediaRecorder.AudioSource.VOICE_DOWNLINK;


    private static MicProject parent = null;

    public StreamerAudio(MicProject parent_){
        this.parent = parent_;
    }

    @Override
    public void run() {
        //openFile();

        buffersize = (int) AudioRecord.getMinBufferSize(11025,audioChannel,AudioFormat.ENCODING_PCM_16BIT);
        arec = new AudioRecord(audioSource,
                11025,
                audioChannel,
                encoding,
                buffersize);
        byte[] buffer = new byte[buffersize];
        byte[] buffer2 = new byte[buffersize];
        byte[] bufferSwap = buffer;

        arec.startRecording();

        isRecording = true;

        while(isRecording) {
            arec.read(buffer, 0, buffersize);
                printBuffer(buffer);
        }  
    }

    public void printBuffer(byte[] buffer) {
        try {
            parent.setBufferToDisplay(buffer);
        } catch (Exception e) {

}
...