Как проигрывать радио в прямом эфире.asx video/x-ms-asf?
Существует ли какая-либо сторонняя библиотека в Android или Java, которая может воспроизводить потоковое радио?
File extension: .asx
MIME type: video/x-ms-asf
К сожалению, MediaPlayer не поддерживает этот формат!
Вот URL прямой трансляции: http:// 38.96.148.75 /SunnahAudio
РЕДАКТИРОВАТЬ:
Я был в состоянии преобразовать .asf
подать в .mp3
файл с помощью JAVE:
File source = new File("sound.asf");
File target = new File("target.mp3");
AudioAttributes audio = new AudioAttributes();
audio.setCodec("libmp3lame");
audio.setBitRate(new Integer(64000));
audio.setChannels(new Integer(1));
audio.setSamplingRate(new Integer(22050));
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("mp3");
attrs.setAudioAttributes(audio);
Encoder encoder = new Encoder();
encoder.encode(source, target, attrs);
Тем не менее, я транслирую .asf
онлайн, и я не уверен, что смогу транслировать радиостанцию, преобразовать ее в .mp3
и сразу играй!
EDIT2:
Я предлагаю 500+ повторений для всех, кто предлагает полноценное и рабочее решение для игры .asf
прямой эфир на Android. В принципе, я хочу играть эту радиостанцию на Android (как xiialive
сможет сделать):
http://38.96.148.75/SunnahAudio
2 ответа
Если вы откроете URL потока в плеере VLC, вы можете узнать, что это MMS
потоковое использование WMA
кодер-декодер mmsh://38.96.148.75/SunnahAudio?MSWMExt=.asf
Вот проект с открытым исходным кодом aacplayer-android, который использует libmms
а также libffmpeg
получить WMA-контент от mms://
Поток и играть в нее.
Я надеюсь, что это решит вашу проблему.
Мне удалось успешно воспроизвести ваш поток на Android с помощью библиотеки Vitamio. Основным преимуществом этой библиотеки является то, что она совместима с API с Android SDK, поэтому вам просто нужно изменить импорт в вашем коде.
Один из плагинов Vitamino должен присутствовать на данном устройстве для использования библиотеки. Просто откройте Vitamio Demo в Eclipse
и посмотрите, как его использовать. Приглашение пользователя установить плагин Vitamio включено в демоверсию.
Я смог воспроизвести ваш поток с этим кодом:
import io.vov.vitamio.widget.MediaController;
import io.vov.vitamio.widget.VideoView;
import android.app.Activity;
import android.os.Bundle;
public class VideoViewDemo extends Activity {
private String path = "mmsh://38.96.148.75/SunnahAudio";
private VideoView mVideoView;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.videoview);
mVideoView = (VideoView) findViewById(R.id.surface_view);
mVideoView.setVideoPath(path);
mVideoView.setMediaController(new MediaController(this));
mVideoView.requestFocus();
}
}
Как видите - похоже на использование VideoView
из Android SDK. Практически единственная разница - это импорт.
Единственное отличие, которое следует отметить, заключается в том, что я не смог использовать http- ссылку, поэтому мне пришлось использовать реальный URL-адрес потоковой передачи с протоколом mmsh (открытый в VLC - аналогично тому, что делал @vasart).
Для справки вы можете взглянуть на логи от успешного воспроизведения.