My MainActivity.java:
PlayerView exoPlayerView;
SimpleExoPlayer exoPlayer;
String url="https://drive.google.com/file/d/1sAQsndXPmqaEPUKAaCmz9N6cnosJ0StE/preview";
String url="http://blueappsoftware.in/layout_design_android_blog.mp4";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
exoPlayerView=findViewById(R.id.exoPlayerView);
try{
BandwidthMeter bandwidthMeter=new DefaultBandwidthMeter();
TrackSelector trackSelector=new DefaultTrackSelector(new AdaptiveTrackSelection.Factory(bandwidthMeter));
exoPlayer= ExoPlayerFactory.newSimpleInstance(this,trackSelector);
Uri videoUri=Uri.parse(url);
DefaultHttpDataSourceFactory dataSourceFactory=new DefaultHttpDataSourceFactory("ExoPlayerVideo");
ExtractorMediaSource mediaSource=new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(videoUri);
exoPlayerView.setPlayer(exoPlayer);
exoPlayer.prepare(mediaSource);
exoPlayer.setPlayWhenReady(true);
}
catch (Exception e){
Toast.makeText(this, e.toString(), Toast.LENGTH_SHORT).show();
}
}}
Я пытался использовать exoplayer для просмотра видео с URL.Хотя URL-адреса блогов работают хорошо для того же кода, но не потоковое видео по ссылкам Google Drive, хотя они обнародованы.Как вы можете видеть из моего фрагмента кода, URL можно легко просмотреть из любого браузера, если он у вас есть.Есть ли какое-то решение для этого в exoplayer, или я должен использовать что-то еще для потоковой передачи видео?
Ошибка загрузки видео:
Ошибка источника.
com.google.android.exoplayer2.source.UnrecognizedInputFormatException: None of the available extractors (MatroskaExtractor, FragmentedMp4Extractor, Mp4Extractor, Mp3Extractor, AdtsExtractor, Ac3Extractor, TsExtractor, FlvExtractor, OggExtractor, PsExtractor, WavExtractor, AmrExtractor) could read the stream.
at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractorHolder.selectExtractor(ExtractorMediaPeriod.java:931)
at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:853)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:317)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)