首页 > 解决方案 > 代号一中视频的后台播放

问题描述

我有以下代码:

MediaPlayer media = new MediaPlayer(MediaManager.createMedia(thePath, true));
media.setAutoplay(true);
video.add(BorderLayout.CENTER, media);

这样可行。如果用户想将智能手机放在口袋里,我希望用户可以继续“收听”视频。当视频不需要观看时(例如谈话、会议或其他类似的谈话视频),这可能是有意义的。通常用户在将智能手机放入口袋之前按下硬件按钮关闭屏幕,这意味着将应用程序置于后台(我不确定是否与将应用程序置于后台完全一样,请纠正如果我错了我)。

此外,如果用户将应用程序从后台转到前台,我希望用户可以继续“观看”视频。

如何使用 Codename One 实现这个用例?

在这篇博文https://www.codenameone.com/blog/material-icons-background-music-geofencing-gradle.html中,有一个关于“背景音乐”的部分,但是这个用例是不同的。我需要“背景视频”。

标签: codenameone

解决方案


对于 iOS,构建提示ios.background_modes=music构建提示应该可以工作。Android 可能会出现更多问题,因为它需要不同的媒体 API 调用,而且现在媒体 API 调用是为音频设计的。

您可以检测到挂起(stop调用)并停止视频播放,然后切换到MediaManager.createBackgroundMedia()并从相同的偏移量继续。然后检测start()呼叫以恢复视频。我还没有尝试过,我不确定这是否是正确的方法。


推荐阅读