codenameone - 代号一中视频的后台播放
问题描述
我有以下代码:
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中,有一个关于“背景音乐”的部分,但是这个用例是不同的。我需要“背景视频”。
解决方案
对于 iOS,构建提示ios.background_modes=music
构建提示应该可以工作。Android 可能会出现更多问题,因为它需要不同的媒体 API 调用,而且现在媒体 API 调用是为音频设计的。
您可以检测到挂起(stop
调用)并停止视频播放,然后切换到MediaManager.createBackgroundMedia()
并从相同的偏移量继续。然后检测start()
呼叫以恢复视频。我还没有尝试过,我不确定这是否是正确的方法。
推荐阅读
- python - 为什么循环已经在 pyttsx3 中开始
- python - 替换 pandas DataFrame 上的循环
- java - WhatsApp 状态保存在 Android 11 或更高版本中
- npm - 我如何知道 npm 包中的脚本选项?
- android - Startlocalonlyhotspot 在 Android 11 中不起作用
- python - Python for 循环:循环分层数据
- c# - 用于在 WinForms 设计器中生成 AddRange() 的自定义 TypeConverter 不起作用
- python - 使用字典列表创建数据框
- angular-reactive-forms - 在 HTML 中循环一个 FormArray 并在没有 ngFor 的情况下附加 FormControl
- css - MUI 日期选择器影响反应表中的 Mui 分页 css