原始碼
我們的部分 App 包含採用 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 或非自由部分),並以獨立的共用程式庫形式隨 App 提供,因此你可以換成自己建置的版本。
- 為了計算音訊指紋,App 還包含 Chromaprint 和 libswresample 的 Kotlin 移植版,在此以相同授權提供。
重新建置或替換程式庫
- 安裝指令碼中註明的 Android NDK 版本,然後執行
tools/build-ffmpeg-android.sh。它會下載 FFmpeg、驗證其 SHA-256,並為 arm64-v8a、armeabi-v7a 和 x86_64 建置。 - 若要使用修改過的 FFmpeg,請把你的原始碼解壓縮到指令碼預期的位置,或修改指令碼中的 configure 指令列。
- 在 App 對應你裝置 ABI 的 APK 中替換
libavformat.so、libavcodec.so、libavutil.so和libswresample.so,用你自己的金鑰簽署 APK 並安裝。README.txt 說明了每個步驟。
授權
這些元件依據 GNU 較寬鬆通用公共授權條款第 2.1 版或(依你選擇)任何更新版本散布。完整授權文字包含在壓縮檔和 App 中(設定 → 關於)。FFmpeg 是 FFmpeg 專案創始人 Fabrice Bellard 的商標。
每個版本在我們散布後,都會在此保留至少三年。有疑問,或需要透過其他媒介取得?請寫信至 1bytesystems@gmail.com。