12

ラジオ ライブ ストリームを再生できる Android または Java のサードパーティ ライブラリはありますか?

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

残念ながら、MediaPlayerはこのフォーマットをサポートしていません!

ライブ ストリームの URL は次のとおりです: http:// 38.96.148.75 /SunnahAudio


編集:

JAVEを使用して.asfファイルをファイルに変換できました:.mp3

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:

.asfAndroid でライブ ストリームを再生するための完全で実用的なソリューションを提供する 500 人以上の担当者を提供します。基本的に、このラジオ局を Android で再生したい (xiialiveできるように):

http://38.96.148.75/SunnahAudio
4

2 に答える 2

6

VLC プレーヤーでストリームの URL を開くと、コーデックをMMS使用したスト​​リームであることがわかります。ストリームから WMA コンテンツを取得して再生 するオープン ソース プロジェクトaacplayer-androidを次に示します。 問題が解決することを願っています。WMAmmsh://38.96.148.75/SunnahAudio?MSWMExt=.asflibmmslibffmpegmms://

于 2012-07-22T19:50:38.863 に答える
5

Vitamioライブラリを使用して、Android でストリームを正常に再生できました。この lib の最大の利点は、Android SDK と API 互換であるため、コード内のインポートを変更するだけで済みます。

ライブラリを使用するには、 Vitamino プラグインの 1 つが特定のデバイスに存在する必要があります。で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リンクを使用できなかったことです。そのため、mmshプロトコルで実際のストリーミング URL を使用する必要がありました ( VLCで開かれました- @vasart と同様)。

参考までに、正常に再生されたログを参照してください。

于 2012-07-22T21:32:34.133 に答える