是否有安卓或Java任何第三方库,可以播放电台直播流?
File extension: .asx
MIME type: video/x-ms-asf
不幸的是, MediaPlayer的不支持此格式!
下面是现场直播的网址: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
如果您在VLC播放流的打开URL,你可以发现它是一个MMS
使用流WMA
编解码器mmsh://38.96.148.75/SunnahAudio?MSWMExt=.asf
这里是一个开源项目aacplayer-机器人 ,它使用libmms
和libffmpeg
摆脱WMA内容mms://
流和播放。
我希望它可以解决你的问题。
我是能够成功地使用播放流在Android Vitamio库。 这个LIB的最大优点是,它的API兼容的Android SDK,所以你只需要改变进口在你的代码。
其中的维生素护插件应该存在指定设备使用的库上。 只需打开Vitamio演示在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协议(在VLC打开-类似于@vasart所做的那样)真正的流媒体URL。
仅供参考,你可以看看从成功回放日志 。