8 changed files with 43 additions and 38 deletions
			
			
		@ -1,16 +1,17 @@ | 
				
			|||
import {GetArrayBuffer, SniffAudioExt} from "@/decrypt/utils.ts"; | 
				
			|||
import {AudioMimeType, GetArrayBuffer, SniffAudioExt} from "@/decrypt/utils.ts"; | 
				
			|||
 | 
				
			|||
const musicMetadata = require("music-metadata-browser"); | 
				
			|||
import {AudioMimeType, GetMetaCoverURL, GetFileInfo} from "./util"; | 
				
			|||
 | 
				
			|||
export async function Decrypt(file, raw_filename, raw_ext, detect = true) { | 
				
			|||
import {parseBlob as metaParseBlob} from "music-metadata-browser"; | 
				
			|||
import {GetMetaCoverURL, GetFileInfo} from "./util"; | 
				
			|||
 | 
				
			|||
export async function Decrypt(file: Blob, raw_filename: string, raw_ext: string, detect: boolean = true) { | 
				
			|||
    let ext = raw_ext; | 
				
			|||
    if (detect) { | 
				
			|||
        const buffer = new Uint8Array(await GetArrayBuffer(file)); | 
				
			|||
        ext = SniffAudioExt(buffer, raw_ext); | 
				
			|||
        if (ext !== raw_ext) file = new Blob([buffer], {type: AudioMimeType[ext]}) | 
				
			|||
    } | 
				
			|||
    const tag = await musicMetadata.parseBlob(file); | 
				
			|||
    const tag = await metaParseBlob(file); | 
				
			|||
    const info = GetFileInfo(tag.common.artist, tag.common.title, raw_filename); | 
				
			|||
    return { | 
				
			|||
        status: true, | 
				
			|||
					Loading…
					
					
				
		Reference in new issue