запись потокового аудио с хорошим подходом, отличным от медиа-рекордера, чтобы не захватывать микрофонный вход - PullRequest
0 голосов
/ 26 декабря 2018

Кто-нибудь может предложить решение для этого?Потоковое аудио воспроизводится в классе MediaPlayer.Для записи я использовал класс MediaRecorder таким образом,

private void startRecording() {
    isPlaying = true;
    //we use the MediaRecorder class to record
    mRecorder = new MediaRecorder();
    mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    /**In the lines below, we create a directory in the phone storage
     * and the audios are being stored in the Audios folder **/
    File root = android.os.Environment.getExternalStorageDirectory();
    File file = new File(root.getAbsolutePath() + "/IRadio/Audios");
    if (!file.exists()) {
        file.mkdirs();
    }

    fileName =  root.getAbsolutePath() + "/IRadio/Audios/" +
            String.valueOf(System.currentTimeMillis() + ".mp3");
    Log.d("filename",fileName);
    mRecorder.setOutputFile(fileName);
    mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

    try {
        mRecorder.prepare();
        mRecorder.start();
    } catch (IOException e) {
        e.printStackTrace();
    }

Я читал о байтном чтении аудио здесь .Но не могу понять, как я могу заменить свой код на него.Хотя я слышал, что это не работает с MediaPlayer классом.Любые предложения или улучшения приветствуются.

...