Callbacks (Surfmeter Selenium for Java)¶
We offer different callbacks that can be used to react concurrently to certain events:
class MyTest {
// ...
public test() {
// ...
SurfmeterMonitoredVideo monitoredVideo = surfmeter.getMonitoredVideo(video);
monitoredVideo.onVideoPlaybackStateChanged((event) -> {
// fires with every play back state change
// playback states can be:
// UNSTARTED - when the video has never played yet
// PLAYING - when the video plays
// PAUSED - when the playback pauses, because e.g. the user clicke the pause button
// STALLING - when the playback suddenly breaks due to an buffer-underrun
// SEEKING - when the user seeks e.g. a specific position in the video
// ENDED - when the playback completed
// videoPlaybackState: event.getVideoPlaybackState();
// clientTime: event.getClientTime();
// mediaTime: event.getMediaTime();
})
.onMediaTimeUpdated((event) -> {
// fires with every time update of the video
// clientTime: event.getClientTime();
// mediaTime: event.getMediaTime();
})
.onNewStatisticsAvailable((event) -> {
// fires approx. every five seconds, when new statistics are computed
// statistics: event.getStatistics();
// clientTime: event.getClientTime();
// mediaTime: event.getMediaTime();
})
.onVideoResolutionChanged((event) -> {
// resolutionHeight: event.getResolutionHeight(); // e.g. 720
// resolutionWidth: event.getResolutionWidth(); // e.g. 1080
// resolutionString: event.getResolutionString(); // e.g. "1080x720"
// clientTime: event.getClientTime();
// mediaTime: event.getMediaTime();
});
// ...
}
// ...
}
Further callbacks can be integrated. We welcome your feedback here!