Как записать или скачать поток буфера из shoutcast url во внешний каталог Android - PullRequest
0 голосов
/ 03 июля 2018

Я играю в shoutcast url с помощью Exoplayer, я хочу сохранить буфер в формате файла .mp3. Я использую этот код, но это сохранение очень-очень медленного потока, так как я записываю поток в течение 5 минут, это только поток записи около 15-20 сек .. пожалуйста, помогите мне ... заранее спасибо за ваш вклад ...

      outputSource.append( "//samplefile.mp3" );
    String os;
   os = outputSource.toString();
   fileOutputStream = new FileOutputStream( os );
 inputStream = new URL( "http://my_url" ).openStream();
while    (true) 
{
int c;
while((c=inputStream.read())!= -1)
{
Log.d(LOG_TAG,"bytesRead="+bytesRead);
fileOutputStream.write(c);
bytesRead++;
}
}

1 Ответ

0 голосов
/ 03 июля 2018

i am recording stream for 5 min it is only recording stream of about 15-20 sec это потому, что вы читаете его побайтно.
Вам нужно использовать буфер:

int l;
byte[] buffer = new byte[1024];
while ((l = inputStream.read(buffer)) != -1) {
    fileOutputStream.write(buffer, 0, l);
}

Также ваш while(true) цикл бесполезен

...