Android: Как записать mp3 радио (аудио) поток - PullRequest
9 голосов
/ 21 марта 2011

Моя любимая радиостанция воспроизводит аудиопоток в формате mp3. В моем приложении для Android я могу получить и играть без проблем.

Как я могу реализовать функцию записи? Я хочу записать радиопоток mp3 на SD-карту моего телефона Android.

Я попробовал класс MediaRecorder безрезультатно ...

Android-разработчик: MediaRecorder

...

mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);

...

К сожалению, я не могу выбрать что-то вроде:

mRecorder.setAudioSource(MediaRecorder.AudioSource.MP3_STREAM); ...; -)

Как я могу записать радиопоток mp3? Спасибо за любую помощь или фрагменты кода ...

Ответы [ 2 ]

19 голосов
/ 22 марта 2011

Отлично! Чтение аудиопотока «побайтово» является решением. Спасибо !!

Вот мои фрагменты кода:

        URL url = new URL("http://myradio,com/stream.mp3");
        inputStream = url.openStream();
        Log.d(LOG_TAG, "url.openStream()");

        fileOutputStream = new FileOutputStream(outputSource);
        Log.d(LOG_TAG, "FileOutputStream: " + outputSource);

        int c;

        while ((c = inputStream.read()) != -1) {
            Log.d(LOG_TAG, "bytesRead=" + bytesRead);
            fileOutputStream.write(c);
            bytesRead++;
        }
8 голосов
/ 21 марта 2011

Может быть, вам следует прочитать аудиопоток "byte by byte" и затем поместить его в новый файл?Как простая операция копирования файла с использованием inputtream-outputtream.

...