Exoplayer cómo saber qué URL se reproducirá con una vista de video personalizada
Estoy trabajando por primera vez en un reproductor de video en línea, estoy usandoTextureVideoViewMute extends TextureView implements TextureView.SurfaceTextureListener
clase personalizada como reproductor de video personalizado.
Estoy teniendo dosurls
en mi respuestasource_url
(url principal) ydash_url
Ahora quería usarExomediaPlayer
para esto pero tengo las siguientes preguntas.
1. Cómo categorías queurl
para ser jugado?
¿O si el jugador mismo decidirá esto mientras juega?
3. O necesitamos usar solterourl
jugador hace automáticamente su trabajo?
4. O es posible combinación decustom video surfaceview
ySimpleExoPlayer
?
Lo principal que quiero lograr esadaptive bit rate streaming
me gustayou-tube 144p 220p 720p... etc
lo hace según la condición de la red
He probado los ejemplos que proporcionanGIT
pero ellos están jugandodash_url
osource_url
Debido a la falta de documentación, no puedo entender cómo debo hacer esto.
Código de muestra deExoplayer
String videoURL = "http://blueappsoftware.in/layout_design_android_blog.mp4";
SimpleExoPlayerView exoPlayerView = (SimpleExoPlayerView) findViewById(R.id.exo_player_view);
try {
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
TrackSelector trackSelector = new DefaultTrackSelector(new AdaptiveTrackSelection.Factory(bandwidthMeter));
SimpleExoPlayer exoPlayer = ExoPlayerFactory.newSimpleInstance(this, trackSelector);
Uri videoURI = Uri.parse(videoURL);
DefaultHttpDataSourceFactory dataSourceFactory = new DefaultHttpDataSourceFactory("exoplayer_video");
ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
MediaSource mediaSource = new ExtractorMediaSource(videoURI, dataSourceFactory, extractorsFactory, null, null);
exoPlayerView.setPlayer(exoPlayer);
exoPlayer.prepare(mediaSource);
exoPlayer.setPlayWhenReady(true);
} catch (Exception e) {
Log.e("MainAcvtivity", " exoplayer error " + e.toString());
}