更改MediaPlayer上的缓冲区大小

jos*_*osh 23 android

有没有办法在流媒体上更改默认缓冲区大小MediaPlayer

Com*_*are 12

缓冲区大小被烘焙到固件中.您所能做的就是密切关注缓冲区的填充量,即使只是基于百分比.

抱歉!

  • 不是真的/只是.正如我在Googles Code中看到的那样,有一个方法`public booleansetParameter(int key,int value)`,如果你知道key的值(我将它们用于RK设备),你可以这样做.不幸的是我无法找到一种方法来调用这种方法(尽管它是公开的),但我会发现它,必须有办法做到这一点! (2认同)
  • 不,我最后哭了,因为我因谷歌无知而失去了几笔大优惠. (2认同)

lub*_*osz 11

大小在frameworks/base/media/libstagefright/include/NuCachedSource2.h中设置

kDefaultHighWaterThresholdkDefaultLowWaterThreshold在Android 2.3.7和Android 4.0.4之间上升.缓冲区大小增长了8倍,如此线程 Android中所述 - ICS 4.0中的MediaPlayer缓冲区大小

你需要一个自定义的ROM.

Android 2.3.7

enum {
    kPageSize            = 65536,
    kHighWaterThreshold  = 5 * 1024 * 1024,
    kLowWaterThreshold   = 512 * 1024,

    // Read data after a 15 sec timeout whether we're actively
    // fetching or not.
    kKeepAliveIntervalUs = 15000000,
};
Run Code Online (Sandbox Code Playgroud)

Android 4.0.4

enum {
    kPageSize                       = 65536,
    kDefaultHighWaterThreshold      = 20 * 1024 * 1024,
    kDefaultLowWaterThreshold       = 4 * 1024 * 1024,

    // Read data after a 15 sec timeout whether we're actively
    // fetching or not.
    kDefaultKeepAliveIntervalUs     = 15000000,
};
Run Code Online (Sandbox Code Playgroud)

如果您介意这个问题,那么您可能对错误报告感兴趣 https://code.google.com/p/android/issues/detail?id=29870