d4e1b66924
- shared/audio: вендорнут Concentus (libs/concentus.jar), OpusCodec/AudioDatagram/AudioConfig; захват на очках 48кГц стерео → Opus → UDP-датаграммы вместо сырого PCM по WebSocket - glass.audio: AudioRecord 48кГц с минимальным буфером; UDP-сервер запоминает адрес пира из датаграммы - glasses: жесты тач-сенсора дужки (cyttsp5_mt) через dispatchTouchEvent → DPAD/BACK гостю (TempleGesture*) - glasses: forceStopAll — force-stop сторонних + xr.runtime, kill scrcpy-сирот через Shizuku UserService - phone: AudioPlaybackManager на UDP+Opus+low-latency AudioTrack; кнопка «Убить всё лишнее» на вкладке очков - deps: mercury transport 0.1.2-SNAPSHOT, shizuku-vd 0.1.1-SNAPSHOT
49 lines
1.3 KiB
Kotlin
49 lines
1.3 KiB
Kotlin
plugins {
|
|
alias(libs.plugins.android.library)
|
|
alias(libs.plugins.kotlin.serialization)
|
|
}
|
|
|
|
android {
|
|
namespace = "pw.binom.rayneovm.shared"
|
|
compileSdk = 37
|
|
|
|
defaultConfig {
|
|
minSdk = 26
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
|
|
testOptions {
|
|
unitTests.all {
|
|
it.useJUnitPlatform()
|
|
}
|
|
}
|
|
}
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
api(libs.kotlinx.coroutines.core)
|
|
api(libs.kotlinx.serialization.json)
|
|
|
|
api(libs.mercury.transport)
|
|
|
|
// Concentus — чистый JVM-порт libopus (BSD-3), вендорнут в libs/ чтобы сборка не
|
|
// зависела от внешнего JitPack. Используется обёрткой pw.binom.rayneovm.shared.audio.OpusCodec.
|
|
implementation(files("libs/concentus.jar"))
|
|
|
|
testImplementation(libs.kotlinx.coroutines.test)
|
|
testImplementation(libs.junit.jupiter)
|
|
testImplementation(libs.kotlin.test) // need for kotlin.test.Test
|
|
testImplementation(libs.mockk)
|
|
testImplementation(libs.turbine)
|
|
testRuntimeOnly(libs.junit.platform.launcher)
|
|
}
|