Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Exoplayer 2.9.4 SmoothStreaming_Android_Streaming_Exoplayer_Mpeg Dash - Fatal编程技术网

Android Exoplayer 2.9.4 SmoothStreaming

Android Exoplayer 2.9.4 SmoothStreaming,android,streaming,exoplayer,mpeg-dash,Android,Streaming,Exoplayer,Mpeg Dash,我使用的是explayer 2.9.4,我不知道如何使用Exoplayer创建平滑的流媒体。我在网上搜索了好几天,但什么也没找到。 我的代码是这个,但这是正常的流,我需要与破折号 TrackSelector trackSelector = new DefaultTrackSelector(); exoPlayer = ExoPlayerFactory.newSimpleInstance(this, trackSelector); Uri videoURI = Uri.pa

我使用的是explayer 2.9.4,我不知道如何使用Exoplayer创建平滑的流媒体。我在网上搜索了好几天,但什么也没找到。 我的代码是这个,但这是正常的流,我需要与破折号

    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 ��B�%���������...@java.io中的2:79。InputStreamReader@c587547) 位于com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.parse(DashManifestParser.java:105) 在


文件很差。任何帮助都将不胜感激。

我从以下位置添加了两个文件:


DownloadTracker.javaDemownloadService.java然后从PlayerActivity.java刚刚得到我需要的代码,现在它工作得很好。

使用ExoPlayerV2.9.4进行短跑时:

DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this,
                Util.getUserAgent(this, getPackageName())); //1. Create the data source object
MediaSource dashMediaSource = new DashMediaSource.Factory(dataSourceFactory)
                        .createMediaSource(mUri); //2. Create mediaSource object of DASH media type 

TrackSelection.Factory trackSelectionFactory =
                    new AdaptiveTrackSelection.Factory(); //3. Create AdaptiveTrackSelection factory object 
TrackSelector trackSelector =
                    new DefaultTrackSelector(trackSelectionFactory); //4. Create DefaultTrackSelector object
exoPlayer = ExoPlayerFactory.newSimpleInstance(this, trackSelector); //5. Create exoPlayer object
exoPlayer.prepare(mediaSource); //6. prepare the creates exoPlayer object with mediaSource (dash mediaSource in your case)                      

你能详细了解一下做了哪些改变吗。。?我也有同样的问题。。!您能分享一下您拍摄的PlayerActivity.java的片段吗?我有同样的问题,但无法解决。请解释更多,关于这个解决方案。。。我也面临同样的问题。我尝试了您的解决方案,但我遇到了以下错误:ExoPlayerImplInternal:源错误。com.google.android.exoplayer2.ParserException:org.xmlpull.v1.XmlPullParserException:意外标记(位置:TEXT������ FTYPSOM������...@java.io中的1:923。InputStreamReader@e2892e)我使用的是ExoPlayerV2.9。4@Arjun,实际上是“������ FTYPSOM�������" 对应于h.264编码的ISO媒体容器(例如MP4、3GPP或MOV)的第一个字节。在此,ExoPlayer正尝试将ISO媒体(二进制文件)播放为短划线XML清单。似乎您在XML流中遇到了无效的标记。短划线清单的格式可能不正确。