Я использую 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, но не работает. Есть идеи о том, почему это происходит или как это выяснить?