feat(audio,#2): MediaProjection + AudioPlaybackCapture preview on glasses; AudioPath /vm-audio to phone; debug test tone; debug audio pipe; FGS mediaProjection type; AudioOutputSection UI toggle

This commit is contained in:
2026-09-27 06:39:00 +03:00
parent 2125788e25
commit b1efa3d462
16 changed files with 872 additions and 229 deletions
+16 -2
View File
@@ -73,11 +73,11 @@
</intent-filter>
</activity>
<!-- Foreground service: WebSocket server + mDNS -->
<!-- Foreground service: WebSocket server + mDNS + захват аудио (задача #2) -->
<service
android:name=".VmService"
android:exported="false"
android:foregroundServiceType="mediaPlayback" />
android:foregroundServiceType="mediaPlayback|mediaProjection" />
<!-- Пассивный Accessibility-сервис (задача #5): живучесть процесса +
легальный запуск Activity из фона. Ничего не читает и не инжектит.
@@ -111,6 +111,20 @@
android:exported="true"
android:permission="android.permission.INTERACT_ACROSS_USERS_FULL" />
<!-- Отладочный приёмник (защищён DUMP): тестовый тон для проверки аудио-тракта. -->
<receiver
android:name=".debug.GlassesDebugReceiver"
android:exported="true"
android:permission="android.permission.DUMP">
<intent-filter>
<action android:name="pw.binom.rayneovm.glasses.DEBUG_TEST_TONE" />
<action android:name="pw.binom.rayneovm.glasses.DEBUG_AUDIO_PIPE" />
<action android:name="pw.binom.rayneovm.glasses.DEBUG_AUDIO_PHONE" />
<action android:name="pw.binom.rayneovm.glasses.DEBUG_AUDIO_STOP" />
<action android:name="pw.binom.rayneovm.glasses.DEBUG_STOP_TONE" />
</intent-filter>
</receiver>
<meta-data android:name="com.rayneo.mercury.app" android:value="true" />
</application>
</manifest>