简体   繁体   中英

How to change the pitch of recorded audio and save in background?

I'm recording an audio. after recording i want to change the pitch without changing frequency. and saving file on sdcard. All of this need to be done in background thread.

I've tried this link but this is changing the frequency and also this is not in background.

http://android-er.blogspot.in/2014/04/audiorecord-and-audiotrack-and-to.html

Run a background thread and record audio using MediaRecorder below code helps to record voice call in background and it writes file into sdcard

private void startRecording() {
        filePath = getFilename();
        recorder = new MediaRecorder();
        recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
        recorder.setOutputFile(filePath);
        recorder.setOnErrorListener(errorListener);
        recorder.setOnInfoListener(infoListener);
        recorder.getMaxAmplitude();

        try {
            if (recorder != null) {
                recorder.prepare();
                recorder.start();
            }

        } catch (IllegalStateException e) {
            Log.d(LOG_TAG, e.toString());
        } catch (IOException e) {
        } catch (Exception e) {
            Log.d(LOG_TAG, e.toString());
        }
    }

    private String getFilename() {
        File filepath = Environment.getExternalStorageDirectory();
        File dir = new File(filepath.getAbsolutePath()
                + "/Android");
        if (!dir.exists()) {
            dir.mkdirs();
        }
        String uriSting = (dir.getAbsolutePath() + "/"
                + System.currentTimeMillis() + ".mp3");

        return uriSting;

    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM