0
我想知道是否有办法指定exoplayer只播放hls中高质量的流。我的问题是,即使我有一个良好的网络,播放这种质量也需要很长时间。 因此,如果我能够以这种品质开始比赛而不是较低的比赛,那就太好了。Android Exoplayer只使用HLS播放高质量内容
有什么想法?
问候,
我想知道是否有办法指定exoplayer只播放hls中高质量的流。我的问题是,即使我有一个良好的网络,播放这种质量也需要很长时间。 因此,如果我能够以这种品质开始比赛而不是较低的比赛,那就太好了。Android Exoplayer只使用HLS播放高质量内容
有什么想法?
问候,
请修改提到挑选高变异。
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到:
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视频编解码设备(主要是机顶盒) ,选择较高的变体会导致视频冻结这是谷歌关闭的设备问题。