Подтвердить что ты не робот

Как играть в эфир в прямом эфире .asx video/x-ms-asf?

Есть ли какая-либо сторонняя библиотека на Android или Java, которая может воспроизводить радиопередачу в прямом эфире?

File extension: .asx
MIME type: video/x-ms-asf

К сожалению, MediaPlayer не поддерживает этот формат!

Вот URL-адрес в прямом эфире: http://38.96.148.75/SunnahAudio


EDIT:

Мне удалось преобразовать файл .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
4b9b3361

Ответ 1

Если вы открываете URL-адрес потока в проигрывателе VLC, вы можете узнать, что это поток MMS, используя WMA codec mmsh://38.96.148.75/SunnahAudio?MSWMExt=.asf Вот проект с открытым исходным кодом aacplayer-android, который использует libmms и libffmpeg для получить содержимое WMA из потока mms:// и воспроизвести его.
Я надеюсь, что он решает вашу проблему.

Ответ 2

Мне удалось успешно воспроизвести ваш поток на 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).

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