2017-09-01 8 views
0

をループ停止しますExoplayerは、私は、次のような特徴をループでexoplayer使用しています

private fun prepareExoPlayerFromFileUri(uri: Uri, mediaView: SurfaceView) { 
    val exoPlayer = ExoPlayerFactory.newSimpleInstance(DefaultRenderersFactory(this), DefaultTrackSelector(null as BandwidthMeter?), DefaultLoadControl()) 
    exoPlayer.setVideoSurfaceView(mediaView) 

    val dataSpec = DataSpec(uri) 
    val fileDataSource = FileDataSource() 
    try { 
     fileDataSource.open(dataSpec) 
    } catch (e: FileDataSource.FileDataSourceException) { 
     e.printStackTrace() 
    } 

    val factory = DataSource.Factory { fileDataSource } 
    val mediaSource = ExtractorMediaSource(fileDataSource.uri, factory, DefaultExtractorsFactory(), null, null) 

    exoPlayer.prepare(mediaSource) 
    exoPlayer.repeatMode = Player.REPEAT_MODE_ONE 
    exoPlayer.playWhenReady = true 
} 

はしかし、後にいつか私はビデオはちょうど非常に最後のフレームで停止していることを確認します。 exoplayerに関連するログには何も表示されません。 Marshmellowと

AsusのTinkerboardとHDMIポートを介して接続されたテレビ:

は、ここに私の設定です。画面は常にオンです。

編集:私はExoPlayerレポの問題を作成しました: https://github.com/google/ExoPlayer/issues/3239

答えて

0

これは、ビデオトラックよりも短かったオーディオトラック、およびExoPlayerの現在のバージョンによって引き起こされたかのように思え、その時点でこれのためにハングアップします。

ExoPlayerチームは、ExoPlayer 2.6.0で公開されたissue 1874でこれを解決しました。これは、これ以上最新バージョンでは発生しません。

関連する問題