Я не могу воспроизводить мультимедиа с помощью приложения отправителя (Google SDK) - PullRequest
0 голосов
/ 01 июля 2019

Я делаю приложение отправителя с Google Cast SDK, но когда я пытаюсь воспроизвести мультимедиа на Smart TV, я получаю сообщение об ошибке: Медиа не выбрано.Все работает нормально, но я не могу воспроизводить мультимедиа

Я хочу воспроизвести видео из приложения отправителя на моем умном телевизоре с помощью Google Cast SDK, но я получаю сообщение об ошибке

// Слушатель

private void setupCastListener(){

        mSessionManagerListener = new SessionManagerListener<CastSession>() {
            //Si hay errores poner en cada uno un toast el porque
            @Override
            public void onSessionEnded(CastSession castSession, int i) {
                onAplicationDisconnected();
            }

            @Override
            public void onSessionResumed(CastSession castSession, boolean b) {
                onAplicationConnected(castSession);
            }

            @Override
            public void onSessionResumeFailed(CastSession castSession, int i) {
                onAplicationDisconnected();
            }

            @Override
            public void onSessionStarted(CastSession castSession, String s) {
                onAplicationConnected(castSession);
            }

            @Override
            public void onSessionStartFailed(CastSession castSession, int i) {
                onAplicationDisconnected();
            }

            @Override
            public void onSessionStarting(CastSession castSession) {
                Toast.makeText(DetailsActivity.this, "Iniciando conexion", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onSessionEnding(CastSession castSession) {
                Toast.makeText(DetailsActivity.this, "Sesion finalizada", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onSessionResuming(CastSession castSession, String s) {
                Toast.makeText(DetailsActivity.this, "Sesion retomadda", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onSessionSuspended(CastSession castSession, int i) {

            }

            private void onAplicationConnected(CastSession castSession){

                mcastSession = castSession;

                if(!util.getUrl().equals("")){
                    //VideoPlayer
                    Toast.makeText(DetailsActivity.this, "Url ha mostrar " + util.getUrl(), Toast.LENGTH_SHORT).show();
                    loadRemoteMedia();
                    Toast.makeText(DetailsActivity.this, "Se ha conectado correctamente", Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(DetailsActivity.this, "La url no pudo ser leida", Toast.LENGTH_LONG).show();
                }

            }

            private void onAplicationDisconnected(){
                Toast.makeText(DetailsActivity.this, "El dispositivo se ha desconectado", Toast.LENGTH_SHORT).show();
            }


        };

    }


private void loadRemoteMedia() {
        //Cargar datos
        try {
            if (mcastSession == null){
                Toast.makeText(this, "No hay ningun dispositivo conectado", Toast.LENGTH_SHORT).show();
                return;
            }
            RemoteMediaClient remoteMediaClient = mcastSession.getRemoteMediaClient();

            if (remoteMediaClient == null){
                Toast.makeText(this, "No hay MediaClient ", Toast.LENGTH_SHORT).show();
                return;
            }


            remoteMediaClient.load(buildMediaInfo(),
                    new MediaLoadOptions.Builder()
                            .setAutoplay(true)
                            .setPlayPosition(0).build());

        }catch (Exception e){
            Toast.makeText(this, "Load Remote Media is configured bad", Toast.LENGTH_SHORT).show();
        }

    }


    private MediaInfo buildMediaInfo() {

        MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
        movieMetadata.putString(MediaMetadata.KEY_TITLE,"Dragon Ball");

        return new MediaInfo.Builder(util.getUrl())
                .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
                .setContentType("videos/mp4")
                .setMetadata(movieMetadata)
                .build();
    }

Я ожидаю воспроизведения мультимедиа на Smart TV, но я получаю следующую ошибку: Медиа не был выбран

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