我正在使用解释器2.9.4,我不知道如何使用Exoplayer创建平滑流。我几天都在网上搜索,但没有找到。我的代码就是这个,但这是我需要DASH的正常流媒体
TrackSelector trackSelector = new DefaultTrackSelector();
exoPlayer = ExoPlayerFactory.newSimpleInstance(this, trackSelector);
Uri videoURI = Uri.parse(videoURL);
DefaultHttpDataSourceFactory dataSourceFactory = new DefaultHttpDataSourceFactory( Util.getUserAgent(this, "My Streamer"));
mediaSource = new ExtractorMediaSource.Factory(dataSourceFactory) .createMediaSource(videoURI);
并正在尝试从stackoverflow尝试一些代码,如下所示:
DefaultHttpDataSourceFactory dataSourceFactory = new DefaultHttpDataSourceFactory( Util.getUserAgent(this, "FTV Stream Albania"));
dashMediaSource = new DashMediaSource(videoURI, dataSourceFactory, new DefaultDashChunkSource.Factory(dataSourceFactory), null, null);
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
TrackSelector trackSelector = new DefaultTrackSelector(new AdaptiveTrackSelection.Factory(bandwidthMeter));
但我得到错误:
ExoPlayerImplInternal:源错误。
com.google.android.exoplayer2.ParserException:org.xmlpull.v1.XmlPullParserException:意外的令牌(位置:TEXT G @ B % ... @ 2:79在java中。 io.InputStreamReader@c587547)在com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.parse(DashManifestParser.java:105)的........
文档很差。任何帮助将不胜感激。
解决方案是我从qazxsw poi添加了两个文件:
DownloadTracker.java和DemoDownloadService.java然后从PlayerActivity.java得到我需要的代码,现在它工作得很好。
对于使用ExoPlayer V2.9.4的DASH流:
ExoPlayer Github Soruce codes