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_urlAhora 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.

Muestra de exoplayer

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());
    }

Respuestas a la pregunta(0)

Su respuesta a la pregunta