我想知道是否有办法指定exoplayer只在hls中播放高质量的流。我的问题是即使我有一个良好的网络,它也需要太多时间才能发挥这种品质。 因此,如果我能够开始以这种质量而不是在较低的质量下玩,那就太棒了。
有什么想法吗?
此致
答案 0 :(得分:1)
请按照提及进行修改以选择高变量。
<强> HlsChunkSource.java 强>
<强> OLD 强>:
protected int computeDefaultVariantIndex(HlsMasterPlaylist playlist, Variant[] variants,
BandwidthMeter bandwidthMeter) {
int defaultVariantIndex = 0;
int minOriginalVariantIndex = Integer.MAX_VALUE;
for (int i = 0; i < variants.length; i++) {
int originalVariantIndex = playlist.variants.indexOf(variants[i]);
if (originalVariantIndex < minOriginalVariantIndex) {
minOriginalVariantIndex = originalVariantIndex;
defaultVariantIndex = i;
}
}
return defaultVariantIndex;
}
Chnage to:
protected int computeDefaultVariantIndex (HlsMasterPlaylist playlist, Variant[] variants,BandwidthMeter bandwidthMeter) {
int defaultVariantIndex = 0;
int minOriginalVariantIndex = Integer.MIN_VALUE;
for (int i = 0; i < variants.length; i++) {
int originalVariantIndex = playlist.variants.indexOf(variants[i]);
if (originalVariantIndex > minOriginalVariantIndex) {
minOriginalVariantIndex = originalVariantIndex;
defaultVariantIndex = i;
}
}
return defaultVariantIndex;
}
但是,如果您的设备使用Amlogic视频编解码器(主要是机顶盒),那么选择高变量会导致视频冻结,而谷歌已将其视为设备问题。