HLS в режиме реального времени с использованием Android videoview - PullRequest
0 голосов
/ 01 марта 2019

Я занимаюсь разработкой приложения Xamarin для Android и iOS.Я пытаюсь воспроизвести URL-адрес HLS в прямом эфире с помощью элементов управления Videoview и Media Controller для версии Android.

Я могу запустить ниже URL: https://bitdash -a.akamaihd.net / content / sintel /hls / playlist.m3u8

Но я не могу воспроизвести URL-адрес прямой трансляции HLS, предоставленный клиентом.Я что-то пропустил?или я должен найти новый код или пакет.

Код для воспроизведения видео:

private void InitVideoView()
   {
      _videoView = new VideoView(Context);
      _videoView.Holder.SetKeepScreenOn(true);
      _videoView.Prepared += videoView_Prepared;
      _videoView.Error += videoView_Error;
      _videoView.Completion += videoView_Completion;
      _videoView.Info += videoView_Info;
      _videoView.SetOnPreparedListener(this);

      var lv = new RelativeLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent);
      lv.AddRule(LayoutRules.CenterInParent);
      _videoView.LayoutParameters = lv;
      Control.AddView(_videoView);
      //Org.Apache.Http.Conn.Ssl.SSLSocketFactory.AllowAllHostnameVerifier
   }


    public void OnPrepared(Android.Media.MediaPlayer _mediaPlayer)
   {
        //Console.WriteLine($"OnPrepared: {Status}");
        _mediaPlayer.SetVolume(0f, 0f);
        _videoView.Visibility = ViewStates.Visible;
        _prepared = true;
       Play();
   }

   private void InitMediaController()
   {
        mediaController = new MyMediaController(Context, false);
        mediaController.VisibilityChange += MediaController_VisibilityChange;

        mediaController.SetAnchorView(_videoView);
        //_videoView.SetMediaController(mediaController);
        _videoView.SetMediaController(null);
   }
...