mirror of
https://github.com/GiriNeko/YesPlayMusic.git
synced 2025-12-16 21:28:06 +00:00
feat: 支持Hi-Res (#1585)
This commit is contained in:
parent
5dd00bec87
commit
93c7ba2fd8
3 changed files with 15 additions and 10 deletions
|
|
@ -13,18 +13,23 @@ import {
|
||||||
* 说明 : 使用歌单详情接口后 , 能得到的音乐的 id, 但不能得到的音乐 url, 调用此接口, 传入的音乐 id( 可多个 , 用逗号隔开 ), 可以获取对应的音乐的 url,
|
* 说明 : 使用歌单详情接口后 , 能得到的音乐的 id, 但不能得到的音乐 url, 调用此接口, 传入的音乐 id( 可多个 , 用逗号隔开 ), 可以获取对应的音乐的 url,
|
||||||
* !!!未登录状态返回试听片段(返回字段包含被截取的正常歌曲的开始时间和结束时间)
|
* !!!未登录状态返回试听片段(返回字段包含被截取的正常歌曲的开始时间和结束时间)
|
||||||
* @param {string} id - 音乐的 id,例如 id=405998841,33894312
|
* @param {string} id - 音乐的 id,例如 id=405998841,33894312
|
||||||
|
* @param {string} sqBr - flac(SQ)的比特率
|
||||||
|
* @param {string} hiResBr - hi-res的比特率
|
||||||
*/
|
*/
|
||||||
export function getMP3(id) {
|
export function getMP3(id, sqBr, hiResBr) {
|
||||||
let br =
|
const getBr = (quality, sqBr, hiResBr) => {
|
||||||
store.state.settings?.musicQuality !== undefined
|
if (quality === undefined) return 320000;
|
||||||
? store.state.settings.musicQuality
|
if (quality === 'flac' && sqBr) return sqBr;
|
||||||
: 320000;
|
if (quality === '999000' && hiResBr) return hiResBr;
|
||||||
|
return quality;
|
||||||
|
};
|
||||||
|
|
||||||
return request({
|
return request({
|
||||||
url: '/song/url',
|
url: '/song/url',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: {
|
params: {
|
||||||
id,
|
id,
|
||||||
br,
|
br: getBr(store.state.settings?.musicQuality, sqBr, hiResBr),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -355,7 +355,7 @@ export default class {
|
||||||
}
|
}
|
||||||
_getAudioSourceFromNetease(track) {
|
_getAudioSourceFromNetease(track) {
|
||||||
if (isAccountLoggedIn()) {
|
if (isAccountLoggedIn()) {
|
||||||
return getMP3(track.id).then(result => {
|
return getMP3(track.id, track.sq?.br, track.hr?.br).then(result => {
|
||||||
if (!result.data[0]) return null;
|
if (!result.data[0]) return null;
|
||||||
if (!result.data[0].url) return null;
|
if (!result.data[0].url) return null;
|
||||||
if (result.data[0].freeTrialInfo !== null) return null; // 跳过只能试听的歌曲
|
if (result.data[0].freeTrialInfo !== null) return null; // 跳过只能试听的歌曲
|
||||||
|
|
|
||||||
|
|
@ -86,9 +86,10 @@
|
||||||
<option value="320000">
|
<option value="320000">
|
||||||
{{ $t('settings.musicQuality.high') }} - 320Kbps
|
{{ $t('settings.musicQuality.high') }} - 320Kbps
|
||||||
</option>
|
</option>
|
||||||
<option value="999000">
|
<option value="flac">
|
||||||
{{ $t('settings.musicQuality.lossless') }} - FLAC
|
{{ $t('settings.musicQuality.lossless') }} - FLAC
|
||||||
</option>
|
</option>
|
||||||
|
<option value="999000">Hi-Res</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -815,8 +816,7 @@ export default {
|
||||||
},
|
},
|
||||||
musicQuality: {
|
musicQuality: {
|
||||||
get() {
|
get() {
|
||||||
if (this.settings.musicQuality === undefined) return 320000;
|
return this.settings.musicQuality ?? 320000;
|
||||||
return this.settings.musicQuality;
|
|
||||||
},
|
},
|
||||||
set(value) {
|
set(value) {
|
||||||
if (value === this.settings.musicQuality) return;
|
if (value === this.settings.musicQuality) return;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue