exp: use @unlock-music/crypto backend for NCM decryption

This commit is contained in:
鲁树人
2024-09-14 20:32:31 +01:00
parent 22528481d5
commit 985620d188
8 changed files with 38 additions and 10 deletions
+9
View File
@@ -1,2 +1,11 @@
export const toArrayBuffer = async (src: Blob | ArrayBuffer) => (src instanceof Blob ? await src.arrayBuffer() : src);
export const toBlob = (src: Blob | ArrayBuffer) => (src instanceof Blob ? src : new Blob([src]));
export function* chunkBuffer(buffer: Uint8Array, blockLen = 4096): Generator<[Uint8Array, number], void> {
const len = buffer.byteLength;
for (let i = 0; i < len; i += blockLen) {
const idxEnd = Math.min(i + blockLen, len);
const slice = buffer.subarray(i, idxEnd);
yield [slice, i];
}
}