Android MediaPlayer Prepare()实际上如何工作?

时间:2016-07-28 22:31:37

标签: android video video-streaming android-mediaplayer http-streaming

我创建了一个应用,我使用Android mediaplayer来从HTTP源流式传输多个视频文件。我使用Prepare()方法而不是prepareAsync(),因为除非显示某些内容,否则我无法继续。

这里我有一个返回每个mediaplayer实例的简单方法:

MediaPlayer mediaPreparation(String filename) {
    String url = "myURL"; // your URL here
    // create mediaplayer instance
    MediaPlayer mediaPlayer = new MediaPlayer();

    try {

        mediaPlayer.setDataSource(url);
        mediaPlayer.prepare();

    } catch (IOException e) {
    }

    mediaPlayer.setLooping(true);
    // mediaPlayer.start();
    return mediaPlayer;
}

然后我使用start()逐个启动它们。现在我有两个问题:

1- Prepare()如何真正起作用?我的应用程序需要一段时间才能启动。它不应该首先收到视频流的部分(不下载整个),然后开始播放?!

2-我可以手动缓冲视频,这样我可以更好地控制缓冲区,并将其输入媒体播放器进行播放吗?具体而言,给定条件我需要从特定时间开始视频。所以我可能需要在视频的特定时间缓冲视频流。

0 个答案:

没有答案