使用MediaPlayer的Android Streaming Video

时间:2011-09-29 02:29:47

标签: android flash video streaming

我又回来了另一个问题!

我正在尝试创建一个可以列出所选Livestream的应用程序,来自Own3d.TV,Justin.Tv等......

如果我的研究没有完全失败,我可以使用MediaPlayer对象来播放视频,唯一的问题是如何使用它?

到目前为止,我的代码看起来像这样,但在尝试准备MediaPlayer时它给了我一个例外。

public class Media extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    SurfaceView sw = new SurfaceView(this);
    SurfaceHolder sh = sw.getHolder();

    setContentView(sw);

    Uri ur = Uri.parse("http://www.twitch.tv/widgets/live_embed_player.swf?channel=hashe");

    MediaPlayer mp = new MediaPlayer();

    mp.setDisplay(sh);

    try {
        mp.setDataSource("http://www.twitch.tv/widgets/live_embed_player.swf?channel=hashe");
        mp.prepare();
    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    mp.start();
    //mp.setDisplay(sw);



}
}

甚至可以使用MediaPlayer从这些网站流式传输视频吗?

如果没有,我是如何处理这个问题的?

谢谢!

2 个答案:

答案 0 :(得分:1)

在实施mediaPlayer时,尝试这样的事情,它对我来说很好:http://android-er.blogspot.com/2010/11/play-3gp-video-file-using-mediaplayer.html 但我认为,你不能像你在你的代码中写的一样使用你的源代码。你必须使用一些URL直接从哪里流式传输流式传输,而不是使用嵌入式播放器的html网站的URL。您可以识别:当您在互联网浏览器中使用流式视频编写有用的URL时,浏览器会开始在您的计算机中下载此流式视频。我认为,MediaPlayer仅支持核心.3gp或.mp4格式。 我希望你能理解我的坏英语

答案 1 :(得分:0)

使用output = np.bincount(*resource_arr) * rndm 代替ExoPlayer。请参阅Android官方文档:

ExoPlayer支持诸如HTTP上的动态自适应流(DASH),SmoothStreaming和通用加密之类的功能,而MediaPlayer不支持这些功能。其设计易于定制和扩展。

ExoPlayer - Android Developers