From 32128ed42553c9851e36343a46d89b97c1b9b375 Mon Sep 17 00:00:00 2001 From: MengYX Date: Sun, 8 Sep 2019 13:40:32 +0800 Subject: [PATCH] Fix bugs after using music-metadata-browser --- package-lock.json | 86 +++++++++++++++++++++++----------------------- src/plugins/qmc.js | 12 +++---- src/plugins/raw.js | 7 ++-- 3 files changed, 52 insertions(+), 53 deletions(-) diff --git a/package-lock.json b/package-lock.json index 30a4054..aac974a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2501,7 +2501,7 @@ }, "chainsaw": { "version": "0.0.9", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.0.9.tgz", + "resolved": "https://registry.npm.taobao.org/chainsaw/download/chainsaw-0.0.9.tgz", "integrity": "sha1-EaBRAtHEx4W20EFdM21aOhYSkT4=", "requires": { "traverse": ">=0.3.0 <0.4" @@ -3872,9 +3872,9 @@ "dev": true }, "element-ui": { - "version": "2.11.1", - "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.11.1.tgz", - "integrity": "sha1-K2f57uPtouaISHPBxYnL4w2anWA=", + "version": "2.12.0", + "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.12.0.tgz", + "integrity": "sha1-qJO8Ea5Pfbt+nVQWBvI+ZD8THuQ=", "requires": { "async-validator": "~1.8.1", "babel-helper-vue-jsx-merge-props": "^2.0.0", @@ -3995,7 +3995,7 @@ }, "es6-object-assign": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "resolved": "https://registry.npm.taobao.org/es6-object-assign/download/es6-object-assign-1.1.0.tgz", "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=" }, "escape-html": { @@ -4373,8 +4373,8 @@ }, "file-type": { "version": "12.3.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.3.0.tgz", - "integrity": "sha512-4E4Esq9KLwjYCY32E7qSmd0h7LefcniZHX+XcdJ4Wfx1uGJX7QCigiqw/U0yT7WOslm28yhxl87DJ0wHYv0RAA==" + "resolved": "https://registry.npm.taobao.org/file-type/download/file-type-12.3.0.tgz?cache=0&sync_timestamp=1567527306315&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-type%2Fdownload%2Ffile-type-12.3.0.tgz", + "integrity": "sha1-dNdV5dycXLx+5vGCUptFOQasiMI=" }, "filesize": { "version": "3.6.1", @@ -5382,7 +5382,7 @@ }, "hashish": { "version": "0.0.4", - "resolved": "https://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz", + "resolved": "https://registry.npm.taobao.org/hashish/download/hashish-0.0.4.tgz", "integrity": "sha1-bWC8b/r3Ebav1g5CbQd5iAFOZVQ=", "requires": { "traverse": ">=0.2.4" @@ -5861,8 +5861,8 @@ }, "is-arguments": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + "resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.0.4.tgz", + "integrity": "sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM=" }, "is-arrayish": { "version": "0.2.1", @@ -5974,8 +5974,8 @@ }, "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==" + "resolved": "https://registry.npm.taobao.org/is-generator-function/download/is-generator-function-1.0.7.tgz", + "integrity": "sha1-0hMuUpuwAAp/gHlNS99c1eWBNSI=" }, "is-glob": { "version": "4.0.1", @@ -5988,7 +5988,7 @@ }, "is-nan": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.2.1.tgz", + "resolved": "https://registry.npm.taobao.org/is-nan/download/is-nan-1.2.1.tgz", "integrity": "sha1-n69ltvttskt/XAYoR16nH5iEAeI=", "requires": { "define-properties": "^1.1.1" @@ -6819,8 +6819,8 @@ }, "music-metadata": { "version": "4.5.2", - "resolved": "https://registry.npmjs.org/music-metadata/-/music-metadata-4.5.2.tgz", - "integrity": "sha512-uZuNeY1oY67QOFkaPiNDJ4ALtDLIEXr/B+E1HBBlc3Jub9kqdABgggJX5GQIo8E95fD8vZtXEyqZ5NMm1LM3IA==", + "resolved": "https://registry.npm.taobao.org/music-metadata/download/music-metadata-4.5.2.tgz", + "integrity": "sha1-FWEtLF3tALu0TxCPxuwCFop3t7c=", "requires": { "content-type": "^1.0.4", "debug": "^4.1.0", @@ -6832,15 +6832,15 @@ "dependencies": { "media-typer": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==" + "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-1.1.0.tgz", + "integrity": "sha1-ardLjy0zIPIGSyqHo455Mf86VWE=" } } }, "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==", + "resolved": "https://registry.npm.taobao.org/music-metadata-browser/download/music-metadata-browser-1.3.0.tgz", + "integrity": "sha1-1wC+m7IL3C/AiMkvmh7EA/tT4bo=", "requires": { "assert": "^2.0.0", "buffer": "^5.2.1", @@ -6854,8 +6854,8 @@ "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==", + "resolved": "https://registry.npm.taobao.org/assert/download/assert-2.0.0.tgz", + "integrity": "sha1-lfwcYW1IcTUQaA8ury0Q3SLgLTI=", "requires": { "es6-object-assign": "^1.1.0", "is-nan": "^1.2.1", @@ -6865,8 +6865,8 @@ }, "buffer": { "version": "5.4.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.2.tgz", - "integrity": "sha512-iy9koArjAFCzGnx3ZvNA6Z0clIbbFgbdWQ0mKD3hO0krOrZh8UgA6qMKcZvwLJxS+D6iVR76+5/pV56yMNYTag==", + "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-5.4.2.tgz", + "integrity": "sha1-IBKHJ3YgYYJIDsyywPul9nKi7+8=", "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4" @@ -6874,8 +6874,8 @@ }, "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==", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.4.0.tgz", + "integrity": "sha1-pRwmdUZY4KPCHb9ZFjvUW6b0R/w=", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -6884,8 +6884,8 @@ }, "util": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.1.tgz", - "integrity": "sha512-MREAtYOp+GTt9/+kwf00IYoHZyjM8VU4aVrkzUlejyqaIjd2GztVl5V9hGXKlvBKE3gENn/FMfHE5v6hElXGcQ==", + "resolved": "https://registry.npm.taobao.org/util/download/util-0.12.1.tgz", + "integrity": "sha1-+QjntjPnOWx2TmlN0U5xYlbOit4=", "requires": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", @@ -7135,7 +7135,7 @@ }, "object-is": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", + "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.0.1.tgz", "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=" }, "object-keys": { @@ -7166,8 +7166,8 @@ }, "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==", + "resolved": "https://registry.npm.taobao.org/object.entries/download/object.entries-1.1.0.tgz", + "integrity": "sha1-ICT8bWuiRq7ji9sP/Vz7zzcbdRk=", "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.12.0", @@ -8400,8 +8400,8 @@ }, "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==" + "resolved": "https://registry.npm.taobao.org/readable-web-to-node-stream/download/readable-web-to-node-stream-1.1.4.tgz", + "integrity": "sha1-WFfTL7n3kdHEyjwpf/AorLQSGMY=" }, "readdirp": { "version": "2.2.1", @@ -8510,7 +8510,7 @@ }, "remove": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/remove/-/remove-0.1.5.tgz", + "resolved": "https://registry.npm.taobao.org/remove/download/remove-0.1.5.tgz", "integrity": "sha1-CV/9gn1lyfQa2X0z5BanWBEHmVU=", "requires": { "seq": ">= 0.3.5" @@ -8867,7 +8867,7 @@ }, "seq": { "version": "0.3.5", - "resolved": "https://registry.npmjs.org/seq/-/seq-0.3.5.tgz", + "resolved": "https://registry.npm.taobao.org/seq/download/seq-0.3.5.tgz", "integrity": "sha1-rgKvOkJHk9jMvyEtaRdODFTf/jg=", "requires": { "chainsaw": ">=0.0.7 <0.1", @@ -9577,8 +9577,8 @@ }, "strtok3": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-3.0.1.tgz", - "integrity": "sha512-1aRPsZAxNJ8xo0UPpJgI7VRLZsjal0lvjkF4kIvHL6u3RxHM+hbenfJA0hVmwoUcjbvHuo/HqeB+tTUYx2FciA==", + "resolved": "https://registry.npm.taobao.org/strtok3/download/strtok3-3.0.1.tgz", + "integrity": "sha1-Z7Z8MYtE+fv/l/2UAzaB7FAv36I=", "requires": { "debug": "^4.1.1", "then-read-stream": "^2.0.6", @@ -9697,8 +9697,8 @@ }, "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==" + "resolved": "https://registry.npm.taobao.org/then-read-stream/download/then-read-stream-2.0.6.tgz", + "integrity": "sha1-jY4rFltUocX4ZstD4hZMH1+bhaw=" }, "thenify": { "version": "3.3.0", @@ -9827,8 +9827,8 @@ }, "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==" + "resolved": "https://registry.npm.taobao.org/token-types/download/token-types-1.0.3.tgz", + "integrity": "sha1-c3zAGTnSNXeuM5uI3oL6PLPQtzU=" }, "topo": { "version": "2.0.2", @@ -9865,7 +9865,7 @@ }, "traverse": { "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "resolved": "https://registry.npm.taobao.org/traverse/download/traverse-0.3.9.tgz", "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=" }, "trim-right": { @@ -9931,8 +9931,8 @@ }, "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==", + "resolved": "https://registry.npm.taobao.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftypedarray-to-buffer%2Fdownload%2Ftypedarray-to-buffer-3.1.5.tgz", + "integrity": "sha1-qX7nqf9CaRufeD/xvFES/j/KkIA=", "requires": { "is-typedarray": "^1.0.0" } diff --git a/src/plugins/qmc.js b/src/plugins/qmc.js index 29fd7b8..37b3bc9 100644 --- a/src/plugins/qmc.js +++ b/src/plugins/qmc.js @@ -31,10 +31,10 @@ async function Decrypt(file) { } const mime = audio_mime_type[new_ext]; // 读取文件 - const fileBuffer = await new Promise(() => { + const fileBuffer = await new Promise(resolve => { const reader = new FileReader(); reader.onload = (e) => { - reslove(e.target.result); + resolve(e.target.result); }; reader.readAsArrayBuffer(file); }); @@ -51,7 +51,7 @@ async function Decrypt(file) { }); const musicUrl = URL.createObjectURL(musicData); // 读取Meta - let tag = await musicMetadata.parseBlob(file); + let tag = await musicMetadata.parseBlob(musicData); // 处理无标题歌手 let filename_array = file.name.substring(0, file.name.lastIndexOf(".")).split("-"); @@ -66,8 +66,8 @@ 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}); + if (tag.common.picture !== undefined && tag.common.picture.length > 0) { + let pic = new Blob([tag.common.picture[0].data], {type: tag.common.picture[0].format}); pic_url = URL.createObjectURL(pic); } // 返回 @@ -75,7 +75,7 @@ async function Decrypt(file) { filename: filename, title: title, artist: artist, - album: tag.tags.album, + album: tag.common.album, file: musicUrl, picture: pic_url, mime: mime diff --git a/src/plugins/raw.js b/src/plugins/raw.js index 0727bdb..36ec29b 100644 --- a/src/plugins/raw.js +++ b/src/plugins/raw.js @@ -9,14 +9,13 @@ const audio_mime_type = { async function Decrypt(file) { 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}); + if (tag.common.picture !== undefined && tag.common.picture.length > 0) { + let pic = new Blob([tag.common.picture[0].data], {type: tag.common.picture[0].format}); pic_url = URL.createObjectURL(pic); } let file_url = URL.createObjectURL(file); - let filename_no_ext = file.name.substring(0, file.name.lastIndexOf(".")); let filename_array = filename_no_ext.split("-"); let filename_ext = file.name.substring(file.name.lastIndexOf(".") + 1, file.name.length).toLowerCase(); @@ -36,7 +35,7 @@ async function Decrypt(file) { filename: filename, title: title, artist: artist, - album: tag.tags.album, + album: tag.common.album, picture: pic_url, file: file_url, mime: mime