0

我正在使用 MediaPlayer 类来循环播放来自 youtube 的音乐。到目前为止没问题,但是 MediaPlayer 每次播放时都会从 youtube 下载视频,这会导致大量流量。有没有办法让视频在 MediaPlayer 的缓冲区中?

我正在使用以下代码:

try {
    MediaPlayer mp = new MediaPlayer();
    mp.setDataSource("http://r6---sn-4g57knsy.googlevideo.com/videoplayback?itag=18&key=yt5&ip=123.45.67.89&ipbits=0&ratebypass=yes&ms=au&source=youtube&sver=3&mt=1383664037&id=3fa390e8443132e0&expire=1383690428&sparams=gcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&fexp=935610%2C932206%2C916807%2C941242%2C916623%2C924616%2C907231%2C907240&mv=m&gcr=de&upn=9y98yq_WFEc&signature=98E548B5E368061D425FED483828E6D5AF1BBC2B.8AB359B7BA604F108D85578BC704844308E9B6EB");
    mp.setLooping(true);
    mp.setOnPreparedListener(new OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            mp.start();
        }
    });
    mp.prepare();
} catch (Exception e) {
    e.printStackTrace();
}

谢谢。

4

1 回答 1

0

简短的回答:没有。

长答案:编写一个简单的代理服务器在设备上运行并自己缓存。这并不难,但它需要一些思考才能顺利完成。

于 2013-11-06T00:36:49.757 回答