Ошибка при воспроизведении потока RTMP на Exo Player Xamarin. Android - PullRequest
0 голосов
/ 08 апреля 2020

Я использую Xamarin. Android для создания этого приложения, чтобы я мог воспроизводить поток RTMP. Я столкнулся с ошибкой, возникшей во время выполнения после запуска приложения:

Java .Lang.NoClassDefFoundError: 'Не удалось разрешить: Lnet / butterflytv / rtmp_client / RtmpClient;'

Я думаю, что я не использую правильную фабрику для rtmp, но я не уверен, как это сделать это.

Я пытался скопировать код со страницы github и впоследствии отредактировать его, но он не работает.

Фрагмент из моего кода:

    SimpleExoPlayer _player;
    var mediaUri = Android.Net.Uri.Parse("rtmp://live.restream.io/live/xxxxxxxxxxxxxxxxxxx");

    var defaultBandwidthMeter = new DefaultBandwidthMeter();
    var adaptiveTrackSelectionFactory = new AdaptiveTrackSelection.Factory(defaultBandwidthMeter);
    var defaultTrackSelector = new DefaultTrackSelector(adaptiveTrackSelectionFactory);

    _player = ExoPlayerFactory.NewSimpleInstance(ApplicationContext, defaultTrackSelector);

    PlayerView playerView = FindViewById<PlayerView>(Resource.Id.simple_player);
    playerView.Player = _player;

    RtmpDataSourceFactory rtmpDataSourceFactory = new RtmpDataSourceFactory();
    var videoSource = new ExtractorMediaSource(mediaUri, rtmpDataSourceFactory, new DefaultExtractorsFactory(), null, null);

    _player.Prepare(videoSource);
    _player.PlayWhenReady = true;

Я попробовал пару изменений в videoSource, но не работает. Есть идеи о том, почему это происходит или как это выяснить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...