1
0
forked from um/web

Merge pull request #1 from Borewit/music-metadata-browser

Maybe try music-metadata-browser?
This commit is contained in:
MengYX 2019-09-08 14:45:23 +08:00 committed by GitHub
commit c7ed517ede
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 222 additions and 76 deletions

254
package-lock.json generated
View File

@ -2075,8 +2075,7 @@
"base64-js": {
"version": "1.3.1",
"resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz",
"integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=",
"dev": true
"integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE="
},
"batch": {
"version": "0.6.1",
@ -2500,6 +2499,14 @@
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true
},
"chainsaw": {
"version": "0.0.9",
"resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.0.9.tgz",
"integrity": "sha1-EaBRAtHEx4W20EFdM21aOhYSkT4=",
"requires": {
"traverse": ">=0.3.0 <0.4"
}
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz",
@ -2872,8 +2879,7 @@
"content-type": {
"version": "1.0.4",
"resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz",
"integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=",
"dev": true
"integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js="
},
"convert-source-map": {
"version": "1.6.0",
@ -3453,7 +3459,6 @@
"version": "4.1.1",
"resolved": "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
"integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
@ -3573,7 +3578,6 @@
"version": "1.1.3",
"resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz",
"integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=",
"dev": true,
"requires": {
"object-keys": "^1.0.12"
}
@ -3970,7 +3974,6 @@
"version": "1.13.0",
"resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.13.0.tgz",
"integrity": "sha1-rIYUX91QmdjdSVWMy6Lq+biOJOk=",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.0",
"function-bind": "^1.1.1",
@ -3984,13 +3987,17 @@
"version": "1.2.0",
"resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.0.tgz",
"integrity": "sha1-7fckeAM0VujdqO8J4ArZZQcH83c=",
"dev": true,
"requires": {
"is-callable": "^1.1.4",
"is-date-object": "^1.0.1",
"is-symbol": "^1.0.2"
}
},
"es6-object-assign": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
"integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw="
},
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
@ -4364,6 +4371,11 @@
"schema-utils": "^1.0.0"
}
},
"file-type": {
"version": "12.3.0",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-12.3.0.tgz",
"integrity": "sha512-4E4Esq9KLwjYCY32E7qSmd0h7LefcniZHX+XcdJ4Wfx1uGJX7QCigiqw/U0yT7WOslm28yhxl87DJ0wHYv0RAA=="
},
"filesize": {
"version": "3.6.1",
"resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffilesize%2Fdownload%2Ffilesize-3.6.1.tgz",
@ -5127,8 +5139,7 @@
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
"integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
"dev": true
"integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0="
},
"get-caller-file": {
"version": "2.0.5",
@ -5279,7 +5290,6 @@
"version": "1.0.3",
"resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz",
"integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=",
"dev": true,
"requires": {
"function-bind": "^1.1.1"
}
@ -5310,8 +5320,7 @@
"has-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.0.tgz",
"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
"dev": true
"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q="
},
"has-value": {
"version": "1.0.0",
@ -5371,6 +5380,14 @@
"minimalistic-assert": "^1.0.1"
}
},
"hashish": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz",
"integrity": "sha1-bWC8b/r3Ebav1g5CbQd5iAFOZVQ=",
"requires": {
"traverse": ">=0.2.4"
}
},
"he": {
"version": "1.2.0",
"resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz",
@ -5676,8 +5693,7 @@
"ieee754": {
"version": "1.1.13",
"resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz",
"integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=",
"dev": true
"integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q="
},
"iferr": {
"version": "0.1.5",
@ -5760,8 +5776,7 @@
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.4.tgz",
"integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=",
"dev": true
"integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w="
},
"internal-ip": {
"version": "4.3.0",
@ -5844,6 +5859,11 @@
}
}
},
"is-arguments": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
"integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA=="
},
"is-arrayish": {
"version": "0.2.1",
"resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz",
@ -5868,8 +5888,7 @@
"is-callable": {
"version": "1.1.4",
"resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.1.4.tgz",
"integrity": "sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU=",
"dev": true
"integrity": "sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU="
},
"is-color-stop": {
"version": "1.1.0",
@ -5908,8 +5927,7 @@
"is-date-object": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.1.tgz",
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
"dev": true
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
},
"is-descriptor": {
"version": "0.1.6",
@ -5954,6 +5972,11 @@
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"is-generator-function": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz",
"integrity": "sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw=="
},
"is-glob": {
"version": "4.0.1",
"resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
@ -5963,6 +5986,14 @@
"is-extglob": "^2.1.1"
}
},
"is-nan": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.2.1.tgz",
"integrity": "sha1-n69ltvttskt/XAYoR16nH5iEAeI=",
"requires": {
"define-properties": "^1.1.1"
}
},
"is-number": {
"version": "3.0.0",
"resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
@ -6032,7 +6063,6 @@
"version": "1.0.4",
"resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz",
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
"dev": true,
"requires": {
"has": "^1.0.1"
}
@ -6068,7 +6098,6 @@
"version": "1.0.2",
"resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.2.tgz",
"integrity": "sha1-oFX2rlcZLK7jKeeoYBGLSXqVDzg=",
"dev": true,
"requires": {
"has-symbols": "^1.0.0"
}
@ -6076,8 +6105,7 @@
"is-typedarray": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"is-windows": {
"version": "1.0.2",
@ -6190,14 +6218,6 @@
"integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=",
"dev": true
},
"jsmediatags": {
"version": "3.9.1",
"resolved": "https://registry.npm.taobao.org/jsmediatags/download/jsmediatags-3.9.1.tgz",
"integrity": "sha1-yPFsVd2Es0HbQvcNSbEMVTFM8X0=",
"requires": {
"xhr2": "^0.1.4"
}
},
"json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz",
@ -6779,8 +6799,7 @@
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz",
"integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
"dev": true
"integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
},
"multicast-dns": {
"version": "6.2.3",
@ -6798,6 +6817,85 @@
"integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
"dev": true
},
"music-metadata": {
"version": "4.5.2",
"resolved": "https://registry.npmjs.org/music-metadata/-/music-metadata-4.5.2.tgz",
"integrity": "sha512-uZuNeY1oY67QOFkaPiNDJ4ALtDLIEXr/B+E1HBBlc3Jub9kqdABgggJX5GQIo8E95fD8vZtXEyqZ5NMm1LM3IA==",
"requires": {
"content-type": "^1.0.4",
"debug": "^4.1.0",
"file-type": "^12.1.0",
"media-typer": "^1.1.0",
"strtok3": "^3.0.1",
"token-types": "^1.0.3"
},
"dependencies": {
"media-typer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
"integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw=="
}
}
},
"music-metadata-browser": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/music-metadata-browser/-/music-metadata-browser-1.3.0.tgz",
"integrity": "sha512-4w3rzlLaJoDthtPkzd9GyBzWzgWs1zJ7iOeIFoxJ7NDpOCS3iXRDBLSFv8mKjdn1jl77ASgvousBaw/MGtmxUA==",
"requires": {
"assert": "^2.0.0",
"buffer": "^5.2.1",
"debug": "^4.0.1",
"music-metadata": "^4.4.0",
"readable-stream": "^3.3.0",
"readable-web-to-node-stream": "^1.1.4",
"remove": "^0.1.5",
"typedarray-to-buffer": "^3.1.5"
},
"dependencies": {
"assert": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz",
"integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==",
"requires": {
"es6-object-assign": "^1.1.0",
"is-nan": "^1.2.1",
"object-is": "^1.0.1",
"util": "^0.12.0"
}
},
"buffer": {
"version": "5.4.2",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.2.tgz",
"integrity": "sha512-iy9koArjAFCzGnx3ZvNA6Z0clIbbFgbdWQ0mKD3hO0krOrZh8UgA6qMKcZvwLJxS+D6iVR76+5/pV56yMNYTag==",
"requires": {
"base64-js": "^1.0.2",
"ieee754": "^1.1.4"
}
},
"readable-stream": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
"integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
},
"util": {
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/util/-/util-0.12.1.tgz",
"integrity": "sha512-MREAtYOp+GTt9/+kwf00IYoHZyjM8VU4aVrkzUlejyqaIjd2GztVl5V9hGXKlvBKE3gENn/FMfHE5v6hElXGcQ==",
"requires": {
"inherits": "^2.0.3",
"is-arguments": "^1.0.4",
"is-generator-function": "^1.0.7",
"object.entries": "^1.1.0",
"safe-buffer": "^5.1.2"
}
}
}
},
"mz": {
"version": "2.7.0",
"resolved": "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz",
@ -7035,11 +7133,15 @@
}
}
},
"object-is": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz",
"integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY="
},
"object-keys": {
"version": "1.1.1",
"resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz",
"integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=",
"dev": true
"integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4="
},
"object-visit": {
"version": "1.0.1",
@ -7062,6 +7164,17 @@
"object-keys": "^1.0.11"
}
},
"object.entries": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz",
"integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==",
"requires": {
"define-properties": "^1.1.3",
"es-abstract": "^1.12.0",
"function-bind": "^1.1.1",
"has": "^1.0.3"
}
},
"object.getownpropertydescriptors": {
"version": "2.0.3",
"resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.0.3.tgz",
@ -8285,6 +8398,11 @@
"util-deprecate": "~1.0.1"
}
},
"readable-web-to-node-stream": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-1.1.4.tgz",
"integrity": "sha512-DfwzynATtPmyLSMETPMlgVAB4b/0NNPePAEFEjSzw8VkqUZfx75gjNkaSqa0fP6iul2TL+jheLn2np0SWtW4iw=="
},
"readdirp": {
"version": "2.2.1",
"resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz",
@ -8390,6 +8508,14 @@
"integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
"dev": true
},
"remove": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/remove/-/remove-0.1.5.tgz",
"integrity": "sha1-CV/9gn1lyfQa2X0z5BanWBEHmVU=",
"requires": {
"seq": ">= 0.3.5"
}
},
"remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz",
@ -8632,8 +8758,7 @@
"safe-buffer": {
"version": "5.1.2",
"resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
"integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=",
"dev": true
"integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
},
"safe-regex": {
"version": "1.1.0",
@ -8740,6 +8865,15 @@
}
}
},
"seq": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/seq/-/seq-0.3.5.tgz",
"integrity": "sha1-rgKvOkJHk9jMvyEtaRdODFTf/jg=",
"requires": {
"chainsaw": ">=0.0.7 <0.1",
"hashish": ">=0.0.2 <0.1"
}
},
"serialize-javascript": {
"version": "1.8.0",
"resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.8.0.tgz?cache=0&sync_timestamp=1566305509447&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-1.8.0.tgz",
@ -9395,7 +9529,6 @@
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
"integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@ -9442,6 +9575,16 @@
"integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=",
"dev": true
},
"strtok3": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strtok3/-/strtok3-3.0.1.tgz",
"integrity": "sha512-1aRPsZAxNJ8xo0UPpJgI7VRLZsjal0lvjkF4kIvHL6u3RxHM+hbenfJA0hVmwoUcjbvHuo/HqeB+tTUYx2FciA==",
"requires": {
"debug": "^4.1.1",
"then-read-stream": "^2.0.6",
"token-types": "^1.0.1"
}
},
"stylehacks": {
"version": "4.0.3",
"resolved": "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz",
@ -9552,6 +9695,11 @@
}
}
},
"then-read-stream": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/then-read-stream/-/then-read-stream-2.0.6.tgz",
"integrity": "sha512-5HA8j7O3NL6P4Pi0IzZx8/t46sK0+h3n+P/P0Yzi11ODwR+ZWjG+KILzLXPvJM7PvYjK7sDKfcN1YVCNGbPNEQ=="
},
"thenify": {
"version": "3.3.0",
"resolved": "https://registry.npm.taobao.org/thenify/download/thenify-3.3.0.tgz",
@ -9677,6 +9825,11 @@
"integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=",
"dev": true
},
"token-types": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/token-types/-/token-types-1.0.3.tgz",
"integrity": "sha512-8THi5oekS/TLE01xOMknevTgHwVEcWOsO3zlqxGvzAz+tjZGiACyjcZuH1LTJuHvqmb8SsX/BeqcfQA0JRwqzA=="
},
"topo": {
"version": "2.0.2",
"resolved": "https://registry.npm.taobao.org/topo/download/topo-2.0.2.tgz",
@ -9710,6 +9863,11 @@
}
}
},
"traverse": {
"version": "0.3.9",
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
"integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk="
},
"trim-right": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz",
@ -9771,6 +9929,14 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
"typedarray-to-buffer": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
"integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
"requires": {
"is-typedarray": "^1.0.0"
}
},
"uglify-js": {
"version": "3.4.10",
"resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz",
@ -10015,8 +10181,7 @@
"util-deprecate": {
"version": "1.0.2",
"resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"util.promisify": {
"version": "1.0.0",
@ -10748,11 +10913,6 @@
"async-limiter": "~1.0.0"
}
},
"xhr2": {
"version": "0.1.4",
"resolved": "https://registry.npm.taobao.org/xhr2/download/xhr2-0.1.4.tgz",
"integrity": "sha1-f4dliEdxbbUCYyOBL4GMras4el8="
},
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz",

View File

@ -11,7 +11,7 @@
"core-js": "^2.6.5",
"crypto-js": "^3.1.9-1",
"element-ui": "^2.11.1",
"jsmediatags": "3.9.1",
"music-metadata-browser": "^1.3.0",
"register-service-worker": "^1.6.2",
"vue": "^2.6.10"
},

View File

@ -1,4 +1,4 @@
const jsmediatags = require("jsmediatags");
const musicMetadata = require("music-metadata-browser");
export {Decrypt}
const SEED_MAP = [
[0x4a, 0xd6, 0xca, 0x90, 0x67, 0xf7, 0x52],
@ -31,7 +31,7 @@ async function Decrypt(file) {
}
const mime = audio_mime_type[new_ext];
// 读取文件
const fileBuffer = await new Promise(reslove => {
const fileBuffer = await new Promise(() => {
const reader = new FileReader();
reader.onload = (e) => {
reslove(e.target.result);
@ -51,20 +51,12 @@ async function Decrypt(file) {
});
const musicUrl = URL.createObjectURL(musicData);
// 读取Meta
let tag = await new Promise(resolve => {
new jsmediatags.Reader(musicData).read({
onSuccess: resolve,
onError: (err) => {
console.log(err);
resolve({tags: {}})
}
});
});
let tag = await musicMetadata.parseBlob(file);
// 处理无标题歌手
let filename_array = file.name.substring(0, file.name.lastIndexOf(".")).split("-");
let title = tag.tags.title;
let artist = tag.tags.artist;
let title = tag.common.title;
let artist = tag.common.artist;
if (filename_array.length > 1) {
if (artist === undefined) artist = filename_array[0].trim();
if (title === undefined) title = filename_array[1].trim();
@ -74,9 +66,10 @@ async function Decrypt(file) {
const filename = artist + " - " + title + "." + new_ext;
// 处理无封面
let pic_url = "";
if (tag.tags.picture !== undefined) {
let pic = new Blob([new Uint8Array(tag.tags.picture.data)], {type: tag.tags.picture.format});
pic_url = URL.createObjectURL(pic);
if (tag.common.picture !== undefined && tag.common.picture.length >= 1) {
const picture = tag.common.picture[0];
const blobPic = new Blob([picture.data], {type: picture.format});
pic_url = URL.createObjectURL(blobPic);
}
// 返回
return {

View File

@ -1,4 +1,4 @@
const jsmediatags = require("jsmediatags");
const musicMetadata = require("music-metadata-browser");
export {Decrypt}
const audio_mime_type = {
@ -7,14 +7,7 @@ const audio_mime_type = {
};
async function Decrypt(file) {
let tag = await new Promise(resolve => {
new jsmediatags.Reader(file).read({
onSuccess: resolve,
onError: () => {
resolve({tags: {}})
}
});
});
let tag = await musicMetadata.parseBlob(file);
let pic_url = "";
if (tag.tags.picture !== undefined) {
let pic = new Blob([new Uint8Array(tag.tags.picture.data)], {type: tag.tags.picture.format});
@ -28,8 +21,8 @@ async function Decrypt(file) {
let filename_array = filename_no_ext.split("-");
let filename_ext = file.name.substring(file.name.lastIndexOf(".") + 1, file.name.length).toLowerCase();
const mime = audio_mime_type[filename_ext];
let title = tag.tags.title;
let artist = tag.tags.artist;
let title = tag.common.title;
let artist = tag.common.artist;
if (filename_array.length > 1) {
if (artist === undefined) artist = filename_array[0].trim();
@ -48,4 +41,4 @@ async function Decrypt(file) {
file: file_url,
mime: mime
}
}
}