From 9416ded167bb67b6eb795b6d548528963fa9811a Mon Sep 17 00:00:00 2001 From: Borewit Date: Sat, 7 Sep 2019 19:50:04 +0200 Subject: [PATCH] use music-metadata-browser --- package-lock.json | 254 ++++++++++++++++++++++++++++++++++++--------- package.json | 2 +- src/plugins/qmc.js | 18 +--- src/plugins/raw.js | 17 +-- 4 files changed, 218 insertions(+), 73 deletions(-) diff --git a/package-lock.json b/package-lock.json index cc706e1..30a4054 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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", diff --git a/package.json b/package.json index b825ae3..295b864 100644 --- a/package.json +++ b/package.json @@ -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" }, diff --git a/src/plugins/qmc.js b/src/plugins/qmc.js index 4530352..29fd7b8 100644 --- a/src/plugins/qmc.js +++ b/src/plugins/qmc.js @@ -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(); diff --git a/src/plugins/raw.js b/src/plugins/raw.js index bbafbdd..0727bdb 100644 --- a/src/plugins/raw.js +++ b/src/plugins/raw.js @@ -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 } -} \ No newline at end of file +}