Как записать или скачать потоковый буфер из shoutcast url во внешний каталог android
Я играю в 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 ответ
Решение
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)
цикл бесполезен