首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何播放无线实况.asx视频/x-ms-asf?

如何播放无线实况.asx视频/x-ms-asf?
EN

Stack Overflow用户
提问于 2012-07-20 17:41:04
回答 2查看 12.5K关注 0票数 12

在Android或Java中有任何第三方库可以播放广播直播吗?

代码语言:javascript
复制
File extension: .asx
MIME type: video/x-ms-asf

不幸的是,MediaPlayer不支持这种格式!

以下是活动流的url : http:// 38.96.148.75 /SunnahAudio

编辑:

我能够使用.asf.mp3文件转换为千斤顶文件。

代码语言:javascript
复制
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上播放这个电台(就像xiialive可以做的那样):

代码语言:javascript
复制
http://38.96.148.75/SunnahAudio
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-22 19:50:38

如果在VLC播放器中打开流的url,您可以发现它是使用MMS编解码器的mmsh://38.96.148.75/SunnahAudio?MSWMExt=.asf,这里是一个开源项目aacplayer android,它使用libmmslibffmpegmms://流中获取WMA内容并播放它。

我希望它能解决你的问题。

票数 6
EN

Stack Overflow用户

发布于 2012-07-22 21:32:34

我能够成功地使用维塔米奥库在安卓上播放您的流。这个库的最大优点是它与Android兼容API,所以您只需更改代码中的导入即可。

在给定的设备上应该有一个维塔米诺插件来使用这个库。只需在维塔米奥·德莫中打开Eclipse并查看如何使用它。提示用户安装Vitamio插件是包括在演示。

我能够用以下代码播放您的流:

代码语言:javascript
复制
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();
    }

}

正如您所看到的,类似于使用Android中的VideoView。几乎唯一的区别就是进口。

唯一要注意的区别是我无法使用http链接,所以我不得不使用带有mmsh协议的真正流URL (在VLC中打开-类似于@vasart所做的)。

作为参考,您可以查看成功回放日志

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11584362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档