Проблема с HLS в EXOPlayer до 21 уровня API - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь реализовать EXO Player в моем проекте, все хорошо с api 21 и последующими ... но с более низким API это не сработает ... ни звука, ни видео. Может быть, что-то не так с моим источником HLS? с другой ссылкой HLS все хорошо в Android 4.1 - 4.4.4, но не с моей. Помогите, пожалуйста. Заранее спасибо.

SimpleExoPlayerView exoPlayerView;
SimpleExoPlayer exoPlayer;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

        exoPlayerView = findViewById (R.id.exo_player_view);
        try {
            BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter ();
            TrackSelector trackSelector = new DefaultTrackSelector (new AdaptiveTrackSelection.Factory (bandwidthMeter));
            exoPlayer = ExoPlayerFactory.newSimpleInstance (this, trackSelector);

            String videoURL = "https://edge.hls.hitbox.tv/hls/jurnalfm/index.m3u8?st=ebud8l2g3zFPAw04yvXQUg;ci=mJDMqSzYIK6s3Nru_cbaBw";
            Uri videoURI = Uri.parse (videoURL);

            DefaultHttpDataSourceFactory dataSourceFactory = new DefaultHttpDataSourceFactory ("exoplayer_video");
            MediaSource mediaSource;
            mediaSource = new HlsMediaSource.Factory (dataSourceFactory).createMediaSource (videoURI);

            exoPlayerView.setPlayer (exoPlayer);
            exoPlayer.prepare (mediaSource);
            exoPlayer.setPlayWhenReady (true);
        } catch (Exception e) {
            Log.e ("MainAcvtivity", " exoplayer error " + e.toString ());
        }
}
...