Skip to content

Add standalone Sony phone audio feasibility lab - #14

Draft
a3384379 wants to merge 1 commit into
masterfrom
codex/phone-audio-prototype
Draft

a3384379 wants to merge 1 commit into
masterfrom
codex/phone-audio-prototype

Conversation

@a3384379

@a3384379 a3384379 commented Oct 6, 2026

Copy link
Copy Markdown
Owner

当前项目不能作为 iPhone 的音频输出设备。本 PR 添加独立的 Sony AirPlay 可行性实验,用 iPhone 系统音频输出选择验证“画面留在手机、声音到 Sony”的实际可用性。实验针对仓库参考设备 NW-WM1AM2,沿用 Sony 当前音频输出,不增加耳机适配。

依据共享方案最新两条回复,本 PR 保持草稿:先完成固定设备、1~2 个真实视频 App 的筛选,再决定是否开发正式功能。代码仅在 experiments/phone-audio/,未接入主 App、iOS 设置或 BLE;不应在真机筛选完成前合并为正式功能。

实现默认关闭、显式开启、PIN 配对、前台会话、15 分钟实验上限和手动结束;以会话代际校验隔离迟到回调,并串行执行原生控制及清理。需要手动暂停 Sony 音乐,不自动控制/恢复 QQ,不控制手机全局静音或 Sony 全局音量。结束/断网后的手机扬声器回退必须实测。

原生引擎来自锁定版本的 GPL Android AirPlay Server v0.0.31;完整上游 APK和四个原生库均校验 SHA-256。提供源码归档脚本、完整上游/子模块/依赖版本、许可证和 NOTICE;本轮重新构建实验应用,未重新编译原生引擎。

验证:

  • 独立 Gradle 单元测试、APK 构建、lint 成功;14/14 Kotlin、11/11 Python 测试通过。
  • lint 0 错误,1 条 ChromeOS/x86_64 提示;实验仅支持 arm64 Sony。
  • 最终 APK 在只读 arm64/API 37/16 KiB 页模拟器完成 8 项检查:默认关闭、实际 JNI/NSD 启动、重复启停/唤醒锁清理、进程终止后重新打开关闭及无当前进程 fatal exception。
  • APK 签名、包名/最低 API/权限/ABI 与打包库摘要检查通过;固定上游及依赖源码包 CRC/必要源文件检查通过。
  • 真机预检失败:当前没有可用 Sony,登记的 iPhone 不可连接。AirPlay/PIN/真实音频/手机外放/延迟/切换残音/锁屏/QQ/BLE 并行全部未验收。空验收模板输出 NEEDS_DEVICE_EVIDENCE,不视为通过。
  • 无 iOS 文件改动,iOS quick/full smoke 不适用;未使用现有主项目 CI 为独立实验背书。

构建、设备预检、测试步骤、停止条件及本轮记录见 experiments/phone-audio/README.md 和 VALIDATION.md。APK 与完整源码 ZIP 保存在本轮工作区 artifacts,未提交二进制到 Git。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant