源代码
我们的部分应用包含采用 GNU LGPL 许可的开源库。你可以在这里下载它们对应的源代码、我们构建它们时使用的完全相同的脚本,以及我们自己与之链接的代码。

1B Music 0.1.7
适用于 1B Music 0.1.7。以下内容就是构建此版本所用的全部文件。
- ffmpeg-9.0.2.tar.xzFFmpeg 9.0.2:来自 ffmpeg.org 的原始源代码,未作任何修改(LGPL 2.1 或更高版本)12.0 MB
SHA-256 8c3850283eb25fa026482078a04051e0be17347b09ef81a0849bec15a96e002e - ffmpeg-9.0.2.tar.xz.ascFFmpeg 发布版本的 OpenPGP 签名(FFmpeg 发布签名密钥)520 B
SHA-256 d617fd94ea354dadd2a8bb16243d37c44e1e9729b06b6ad58fe30bfb0fa943f2 - 1bmusic-0.1.7-lgpl-src.tar.gz其余所有内容打包为一个压缩包:构建脚本和配置、我们的 JNI 解码器及其 CMake 文件、Chromaprint 和 libswresample 的 Kotlin 移植版、许可声明和说明(README.txt)39 KB
SHA-256 36e3b0bea34daf26a99a7bdbfcafe27beaba16573c6f82e5db51c319093b1954 - build-ffmpeg-android.shFFmpeg 构建脚本,含完全相同的 configure 选项5 KB
SHA-256 2c4f30a3299070f0ffa7df5c91444128d2950dd68139f1a14372d02daeba4c10 - onebaudio.c我们的 JNI 解码器(C 语言),动态链接到 FFmpeg25 KB
SHA-256 36382ea42e934eb7849c2605ccbc416a3d842c43c954298c1658a3007ee5e8a1 - CMakeLists.txtJNI 解码器的 CMake 文件1 KB
SHA-256 3439f9132bd874a1906d9fceec364b757e4fefd219910e08c29de8c239d2ab29 - SHA256SUMS以上所有文件的 SHA-256 校验和521 B
SHA-256 f251327bf6245991f05e94799e9b76b34a86383c1c05ce1017b506468e943b4b

1B Music 0.1.6
适用于 1B Music 0.1.6。以下内容就是构建此版本所用的全部文件。
- ffmpeg-9.0.2.tar.xzFFmpeg 9.0.2:来自 ffmpeg.org 的原始源代码,未作任何修改(LGPL 2.1 或更高版本)12.0 MB
SHA-256 8c3850283eb25fa026482078a04051e0be17347b09ef81a0849bec15a96e002e - ffmpeg-9.0.2.tar.xz.ascFFmpeg 发布版本的 OpenPGP 签名(FFmpeg 发布签名密钥)520 B
SHA-256 d617fd94ea354dadd2a8bb16243d37c44e1e9729b06b6ad58fe30bfb0fa943f2 - 1bmusic-0.1.6-lgpl-src.tar.gz其余所有内容打包为一个压缩包:构建脚本和配置、我们的 JNI 解码器及其 CMake 文件、Chromaprint 和 libswresample 的 Kotlin 移植版、许可声明和说明(README.txt)39 KB
SHA-256 679d37fd508de7c7d69b754566dbe40e2189a49a440ea16d9a27b9e80a7de293 - build-ffmpeg-android.shFFmpeg 构建脚本,含完全相同的 configure 选项5 KB
SHA-256 2c4f30a3299070f0ffa7df5c91444128d2950dd68139f1a14372d02daeba4c10 - onebaudio.c我们的 JNI 解码器(C 语言),动态链接到 FFmpeg25 KB
SHA-256 36382ea42e934eb7849c2605ccbc416a3d842c43c954298c1658a3007ee5e8a1 - CMakeLists.txtJNI 解码器的 CMake 文件1 KB
SHA-256 3439f9132bd874a1906d9fceec364b757e4fefd219910e08c29de8c239d2ab29 - SHA256SUMS以上所有文件的 SHA-256 校验和521 B
SHA-256 fa76450f4733144852ea2691f9c6c4ec7f9584aa0ba8ad6b6d7cfc7188056842

1B Music 0.1.4
适用于 1B Music 0.1.4。以下内容就是构建此版本所用的全部文件。
- ffmpeg-9.0.2.tar.xzFFmpeg 9.0.2:来自 ffmpeg.org 的原始源代码,未作任何修改(LGPL 2.1 或更高版本)12.0 MB
SHA-256 8c3850283eb25fa026482078a04051e0be17347b09ef81a0849bec15a96e002e - ffmpeg-9.0.2.tar.xz.ascFFmpeg 发布版本的 OpenPGP 签名(FFmpeg 发布签名密钥)520 B
SHA-256 d617fd94ea354dadd2a8bb16243d37c44e1e9729b06b6ad58fe30bfb0fa943f2 - 1bmusic-0.1.4-lgpl-src.tar.gz其余所有内容打包为一个压缩包:构建脚本和配置、我们的 JNI 解码器及其 CMake 文件、Chromaprint 和 libswresample 的 Kotlin 移植版、许可声明和说明(README.txt)39 KB
SHA-256 4c5d1d68d4c73ef388b624890bc715dc055a6e81230a456de25aed8bb19a7349 - build-ffmpeg-android.shFFmpeg 构建脚本,含完全相同的 configure 选项5 KB
SHA-256 2c4f30a3299070f0ffa7df5c91444128d2950dd68139f1a14372d02daeba4c10 - onebaudio.c我们的 JNI 解码器(C 语言),动态链接到 FFmpeg25 KB
SHA-256 36382ea42e934eb7849c2605ccbc416a3d842c43c954298c1658a3007ee5e8a1 - CMakeLists.txtJNI 解码器的 CMake 文件1 KB
SHA-256 3439f9132bd874a1906d9fceec364b757e4fefd219910e08c29de8c239d2ab29 - SHA256SUMS以上所有文件的 SHA-256 校验和521 B
SHA-256 cf4d58b2f768bf90c41c0012c0427b10e1a7c72299a7f8dcedde12d9898ddfd4

1B Music 0.1.3
适用于 1B Music 0.1.3。以下内容就是构建此版本所用的全部文件。
- ffmpeg-9.0.2.tar.xzFFmpeg 9.0.2:来自 ffmpeg.org 的原始源代码,未作任何修改(LGPL 2.1 或更高版本)12.0 MB
SHA-256 8c3850283eb25fa026482078a04051e0be17347b09ef81a0849bec15a96e002e - ffmpeg-9.0.2.tar.xz.ascFFmpeg 发布版本的 OpenPGP 签名(FFmpeg 发布签名密钥)520 B
SHA-256 d617fd94ea354dadd2a8bb16243d37c44e1e9729b06b6ad58fe30bfb0fa943f2 - 1bmusic-0.1.3-lgpl-src.tar.gz其余所有内容打包为一个压缩包:构建脚本和配置、我们的 JNI 解码器及其 CMake 文件、Chromaprint 和 libswresample 的 Kotlin 移植版、许可声明和说明(README.txt)39 KB
SHA-256 81ce24f758675b7fce4790793f1882bdd103cb5e9fbba5e0e06a6444f73b6047 - build-ffmpeg-android.shFFmpeg 构建脚本,含完全相同的 configure 选项5 KB
SHA-256 2c4f30a3299070f0ffa7df5c91444128d2950dd68139f1a14372d02daeba4c10 - onebaudio.c我们的 JNI 解码器(C 语言),动态链接到 FFmpeg25 KB
SHA-256 36382ea42e934eb7849c2605ccbc416a3d842c43c954298c1658a3007ee5e8a1 - CMakeLists.txtJNI 解码器的 CMake 文件1 KB
SHA-256 3439f9132bd874a1906d9fceec364b757e4fefd219910e08c29de8c239d2ab29 - SHA256SUMS以上所有文件的 SHA-256 校验和521 B
SHA-256 df189e74aafa927ca733a2ee7a0f43ab687b29c832fef6e9b52085a80548af92
1B Music 使用了什么
- FFmpeg 9.0.2(libavformat、libavcodec、libavutil、libswresample)负责解码 Android 本身无法播放的格式:APE、WavPack、TTA、Musepack、WMA、DSD、AIFF、CAF 和 Speex,以及用于精确无缝播放的 Opus 和 Vorbis。
- 它未经任何修改构建,只包含 LGPL 组件(不含 GPL 或非自由部分),并以独立的共享库形式随应用提供,因此你可以用自己构建的版本替换它们。
- 为了计算音频指纹,应用还包含 Chromaprint 和 libswresample 的 Kotlin 移植版,在此以相同许可提供。
重新构建或替换这些库
- 安装脚本中注明的 Android NDK 版本,然后运行
tools/build-ffmpeg-android.sh。它会下载 FFmpeg、校验其 SHA-256,并为 arm64-v8a、armeabi-v7a 和 x86_64 构建。 - 如需使用修改过的 FFmpeg,请把你的源代码解压到脚本预期的位置,或修改脚本中的 configure 命令行。
- 在应用对应你设备 ABI 的 APK 中替换
libavformat.so、libavcodec.so、libavutil.so和libswresample.so,用你自己的密钥为 APK 签名并安装。README.txt 详细说明了每一步。
许可
这些组件依据 GNU 宽通用公共许可证第 2.1 版或(由你选择)任何更高版本分发。完整许可文本包含在压缩包和应用中(设置 → 关于)。FFmpeg 是 FFmpeg 项目创始人 Fabrice Bellard 的商标。
每个版本在我们分发后,都会在此保留至少三年。有疑问,或需要通过其他介质获取?请写信至 1bytesystems@gmail.com。