Search code examples
javaandroidkaltura

setVisibility onStateChanged(PlayerStates.PAUSE() - kaltura/AndroidReferenceApp


Want to change image visibility to VISIBLE upon Playerstates PAUSE & END. On Playerstates Play i want to change it to INVISIBLE

What i have right now

mPlayerStateListener.onStateChanged(new PlayerStates.PAUSE() {

image = (ImageView) findViewById(R.id.imageViewback);
image.setVisibility(View.VISIBLE);

        });

Am using kalturas AndroidReferenceApp and trying put code here github.com/kaltura/AndroidReferenceApp/.../Info.java

This might be helpful github.com/kaltura/player-sdk-native-android/.../PlayerViewController.java

Any ideas?


Solution

  • This is the code that make it all work like a charm, What i did wrong was not putting the event listeners inside the players JsCallbackReady.

    Spent day's on getting this to work and there is no information about this anywhere so i hope it will help others that want to accomplish this functions in native applications using kalturaSDK

    // Hooking up to the players API
        playerView.registerJsCallbackReady(new KPlayerJsCallbackReadyListener() {
            @Override
    
    
            public void jsCallbackReady() {
             // Player is loaded and we tell it to play the video
                playerView.play();
    
    
    
    
    
                playerView.addKPlayerEventListener("playerPaused", new KPlayerEventListener() {
                    @Override
                    public void onKPlayerEvent(Object body) {
                        // Player is paused, do something
    
                    }
    
                    @Override
                    public String getCallbackName() {
    
                        return "onPlayerPaused";
                    }
    
                });
    
                playerView.addKPlayerEventListener("playerPlayed", new KPlayerEventListener() {
                    @Override
                    public void onKPlayerEvent(Object body) {
                        // Player is playing, do something
    
                    }
    
                    @Override
                    public String getCallbackName() {
    
                        return "onPlayerPlayed";
                    }
                });
    
    
    
                playerView.addKPlayerEventListener("playerPlayEnd", new KPlayerEventListener() {
                    @Override
                    public void onKPlayerEvent(Object body) {
                       // Player have finished the video, do something
    
                    }
    
                    @Override
                    public String getCallbackName() {
    
                        return "onPlayerPlayEnd";
                    }
                });
    
    
            }
    
    
        });
    
    
    }