从 7.33.2 到 7.34

屏幕投射

在 JxBrowser 7.34 中,如果您想从代码中启动屏幕投射功能,您需要在 ScreenCastOptions.newBuilder(Screen) 设置屏幕:

7.33.2 及更早版本:

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)

支持媒体源

在 JxBrowser 7.34 中, MediaReceiver.supports(CastMode) 方法已被移除。相反,您应该使用 MediaReceiver.supports(MediaSource) 方法:

7.33.2 及更早版本:

要检查接收器是否支持投射任何浏览器的内容:

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

要检查接收器是否支持投射任何屏幕内容:

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

要检查接收器是否支持演示:

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

7.34:

要检查接收器是否支持投射任何浏览器的内容:

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

要检查接收器是否支持投射任何屏幕内容:

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

要检查接收器是否支持将特定的 PresentationRequest 作为媒体源:

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