这个问题,纠结了半天.
终于在github issue里看到了类似的问题。
原因:
Exoplayer 默认只支持http->http和https->https的重定向,但不支持http->https和https->http的重定向,会出现Response 302 的错误。
我尝试给 DefaultDataSourceFactory添加参数,以重定向Url
//重定向
public DefaultDataSourceFactory buildDataSourceFactory() {
DefaultBandwidthMeter mDefaultBandwidthMeter =new DefaultBandwidthMeter();
DefaultDataSourceFactory upstreamFactory =new DefaultDataSourceFactory(
context,
mDefaultBandwidthMeter,
new DefaultHttpDataSourceFactory("audio/mpeg",15000,15000,true));
return upstreamFactory;
}
然后新的问题出现了,这次确实没有302可是出现了如下错误:
com.google.android.exoplayer2.source.UnrecognizedInputFormatException: None of the available extractors (MatroskaExtractor, FragmentedMp4Extractor, Mp4Extractor, Mp3Extractor, AdtsExtractor, Ac3Extractor, TsExtractor, FlvExtractor, OggExtractor, PsExtractor, WavExtractor, AmrExtractor) could read the stream.
这个报错可能是音频资源出现了问题.检查音频资源为宜.
网友评论