De 7.33.2 para 7.34

Transmissão de Tela

No JxBrowser 7.34, se você pretender iniciar a transmissão de tela a partir do código, terá de definir a tela em a opção ScreenCastOptions.newBuilder(Screen):

7.33.2 e anteriores:

Screen screen = profile.mediaCasting().screens().defaultScreen();
ScreenCastOptions options = ScreenCastOptions.newBuilder()
                                             .screen(screen)
                                             .withAudio()
                                             .build();
CompletableFuture<CastSession> future = browser.castScreen(receiver, options);
val screen = profile.mediaCasting().screens().defaultScreen()
val options = ScreenCastOptions.newBuilder()
                               .screen(screen)
                               .withAudio()
                               .build()
val future: CompletableFuture<CastSession> = browser.castScreen(receiver, options)

7.34:

Screen screen = profile.mediaCasting().screens().defaultScreen();
ScreenCastOptions options = ScreenCastOptions.newBuilder(screen)
                                             .withAudio()
                                             .build();
CompletableFuture<CastSession> future = browser.castScreen(receiver, options);
val screen = profile.mediaCasting().screens().defaultScreen()
val options = ScreenCastOptions.newBuilder(screen)
                               .withAudio()
                               .build()
val future: CompletableFuture<CastSession> = browser.castScreen(receiver, options)

Suporte a fontes de mídia

No JxBrowser 7.34, o método MediaReceiver.supports(CastMode) foi removido. Em vez disso, deve utilizar MediaReceiver.supports(MediaSource):

7.33.2 e anteriores:

Para verificar se um receptor suporta a transmissão do conteúdo de qualquer navegador:

MediaReceiver receiver = mediaReceivers.await(it -> it.name().contains("Samsung"));
if (receiver.supports(CastMode.BROWSER)) {
    // Lógica
}
val receiver = mediaReceivers.await { it.name().contains("Samsung") }
if (receiver.supports(CastMode.BROWSER)) {
    // Lógica
}

Para verificar se um receptor suporta a transmissão do conteúdo de qualquer tela:

MediaReceiver receiver = mediaReceivers.await(it -> it.name().contains("Samsung"));
if (receiver.supports(CastMode.SCREEN)) {
    // Lógica
}
val receiver = mediaReceivers.await { it.name().contains("Samsung") }
if (receiver.supports(CastMode.SCREEN)) {
    // Lógica
}

Para verificar se um receptor suporta a apresentação:

MediaReceiver receiver = mediaReceivers.await(it -> it.name().contains("Samsung"));
if (receiver.supports(CastMode.PRESENTATION)) {
    // Lógica
}
val receiver = mediaReceivers.await { it.name().contains("Samsung") }
if (receiver.supports(CastMode.PRESENTATION)) {
    // Lógica
}

7.34:

Para verificar se um receptor suporta a transmissão do conteúdo de qualquer navegador:

MediaReceiver receiver = mediaReceivers.await(it -> it.name().contains("Samsung"));
if (receiver.supports(MediaSource.browser())) {
    // Lógica
}
val receiver = mediaReceivers.await { it.name().contains("Samsung") }
if (receiver.supports(MediaSource.browser())) {
    // Lógica
}

Para verificar se um receptor suporta a transmissão do conteúdo de qualquer tela:

MediaReceiver receiver = mediaReceivers.await(it -> it.name().contains("Samsung"));
if (receiver.supports(MediaSource.screen())) {
    // Lógica
}
val receiver = mediaReceivers.await { it.name().contains("Samsung") }
if (receiver.supports(MediaSource.screen())) {
    // Lógica
}

Para verificar se um receptor suporta um PresentationRequest específico como fonte de multimídia:

MediaReceiver receiver = mediaReceivers.await(it -> it.name().contains("Samsung"));
browser.defaultPresentationRequest().ifPresent(presentationRequest -> {
    if (receiver.supports(presentationRequest)) {
        // Logic
    }
});
val receiver = mediaReceivers.await { it.name().contains("Samsung") }
browser.defaultPresentationRequest().ifPresent {
    if (receiver.supports(it)) {
        // Lógica
    }
}
Go top