Skip to content

Repository files navigation

Game Camera

Game Camera 是一款面向 Android 的局域网游戏取景与拍摄应用。

应用基于 Moonlight Android 接收 Windows 电脑画面,通过手机陀螺仪发送相对鼠标输入,并把经过取景、变焦和滤镜处理的画面保存为照片或视频。

功能

  • 连接运行 Sunshine 的 Windows 电脑
  • 使用手机陀螺仪控制游戏视角
  • 支持横屏与竖屏取景
  • 支持一倍至三倍数字变焦
  • 支持原色、黑白、暖色、冷色、棕褐、复古、褪色和鲜艳滤镜
  • 支持三分网格与中心标记
  • 照片保存到 Pictures/GameCamera
  • 视频保存到 Movies/GameCamera
  • 支持游戏声音、麦克风、混合声音和静音录像
  • 支持在应用内浏览历史照片与视频
  • 支持选择下一次串流会话的分辨率与帧率

照片和视频使用当前串流会话的实际分辨率与帧率。

设置中的规格变更会在下一次连接时生效。

系统要求

  • Android 12 或更高版本
  • 带有陀螺仪的 Android 设备
  • 运行 Sunshine 的 Windows 电脑
  • 手机与电脑位于可互相访问的局域网

缺少陀螺仪时仍可使用串流和拍摄功能。

快速开始

  1. 在 Windows 电脑上安装并启动 Sunshine
  2. 完成 Sunshine 的初始配置并准备一个可用的桌面串流条目。
  3. 在 Android 设备上安装 Release 页面提供的 APK。
  4. 启动 Game Camera 并选择自动发现的电脑。
  5. 自动发现失败时,通过右上角入口填写电脑的局域网地址。
  6. 按照应用显示的 PIN 在 Sunshine 中完成配对。
  7. 选择桌面串流条目进入取景界面。

详细配置和操作说明见 运行指南

从源码构建

构建环境如下。

  • JDK 17
  • Android SDK 35
  • Android NDK 27.2.12479018
  • Gradle 8.10.2
  • Android Gradle Plugin 8.7.3

仓库已经包含构建所需的固定版本原生依赖源码。

克隆仓库后,在根目录创建 local.properties 并配置 Android SDK 路径。

sdk.dir=C\:\\Android\\Sdk

Windows 调试构建命令如下。

.\gradlew.bat assembleNonRootDebug --no-daemon

Windows Release 构建命令如下。

.\gradlew.bat assembleNonRootRelease --no-daemon

Release 任务默认生成未签名 APK。

发布者需要使用自己的证书完成对齐和签名。

测试

运行 JVM 单元测试。

.\gradlew.bat testNonRootDebugUnitTest --no-daemon

检查 APK 中的原生库。

.\gradlew.bat verifyNonRootDebugNativeLibraries --no-daemon

真机验收范围见 验收记录模板

项目文档

发布与签名

Android 使用应用包名、签名证书和递增的 versionCode 判断更新关系。

同一安装序列中的每个新版本需要保持包名和签名一致,并增加 versionCode

当前应用包名为 com.gamecamera.unofficial

当前维护阶段的发布包沿用 Android Debug 证书签名,不适合提交到应用商店。

使用其他证书构建的 APK 无法覆盖安装仓库 Release 页面提供的版本。

参与贡献

提交问题时请附上手机型号、Android 版本、Sunshine 版本、复现步骤和相关日志。

代码变更应保持范围清晰,并在提交前完成对应构建和测试。

开发约束与验收方式见 贡献指南

上游与许可证

项目基于 Moonlight Androidmoonlight-common-c 开发。

项目依照 GNU General Public License v3.0 发布。

许可证全文见 LICENSE.txt

第三方源码版本、来源与许可证位置见 第三方组件说明

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages