All versions
0.2.0-SNAPSHOT
Release
CC Audio Expand 0.2.0-SNAPSHOT3 months ago 14
Compatibility
Minecraft: Java Edition
1.20.1
Platform
Forge
Supported environments
Client and server
Required content
Unavailable version
Changes
● 版本 0.2.0-SNAPSHOT 更新内容
🎯 核心改进
- 时间戳音频同步机制
- 在 SpeakerAudioPacket 中添加 sendTimestampNanos 字段,记录服务端发送时间
- 客户端 SpeakerPcmStream 记录每个音频包的到达时间
- 自动检测并跳过停留超过 200ms 的过时音频数据
- 解决卡顿后播放旧音频导致客户端与服务端严重偏移的问题
- 改进的音频引擎唤醒策略
- 移除 pumpIfNeeded() 中的早期返回条件
- 队列为空时 pump 1 个 buffer,队列有数据时 pump 2 个 buffer
- 更主动地通知音频引擎读取数据,减少"1秒左右音频停止接收"的情况
🎯 解决的问题
参考上游问题:
- cc-tweaked/CC-Tweaked#2120 - 客户端与服务端音频不同步
- cc-tweaked/CC-Tweaked#2412 - 失败的修复尝试(本版本采用了维护者建议的正确方向)
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:8lleVSJZ:iSBdYf9o"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:8lleVSJZ:iSBdYf9o"
}

