Как проигрывать радио в прямом эфире.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).

Для справки вы можете взглянуть на логи от успешного воспроизведения.

Другие вопросы по тегам