update netease qualities

This commit is contained in:
aynakeya
2025-07-05 03:23:19 +08:00
parent bec3112c20
commit 14ce82e9f7
3 changed files with 44 additions and 3 deletions

View File

@@ -191,6 +191,7 @@ func (k *Kugou) quality2str(quality miaosic.Quality) string {
return qualityStr
}
// todo using new api https://github.com/MakcRe/KuGouMusicApi/blob/main/module/song_url_new.js
func (k *Kugou) GetMediaUrl(meta miaosic.MetaData, quality miaosic.Quality) ([]miaosic.MediaUrl, error) {
//albumId := jsonResp.Get("data.0.audio_id").String()
currentUnix := time.Now().UnixMilli()

View File

@@ -8,6 +8,7 @@ import (
neteaseUtil "github.com/XiaoMengXinX/Music163Api-Go/utils"
"github.com/spf13/cast"
"regexp"
"slices"
"strconv"
"strings"
)
@@ -21,7 +22,14 @@ type Netease struct {
}
func (n *Netease) Qualities() []miaosic.Quality {
return []miaosic.Quality{miaosic.QualityAny}
return []miaosic.Quality{
QualityStandard,
QualityHigher,
QualityExHigh,
QualityLossless,
QualityHiRes,
QualityJyMaster,
}
}
func NewNetease() *Netease {
@@ -118,10 +126,20 @@ func (n *Netease) GetMediaInfo(meta miaosic.MetaData) (media miaosic.MediaInfo,
return media, nil
}
func (n *Netease) quality2str(quality miaosic.Quality) string {
if slices.Contains(n.Qualities(), quality) {
return string(quality)
}
return "standard"
}
func (n *Netease) GetMediaUrl(meta miaosic.MetaData, quality miaosic.Quality) ([]miaosic.MediaUrl, error) {
result, err := neteaseApi.GetSongURL(
n.ReqData,
neteaseApi.SongURLConfig{Ids: []int{cast.ToInt(meta.Identifier)}})
neteaseApi.SongURLConfig{
Ids: []int{cast.ToInt(meta.Identifier)},
Level: n.quality2str(quality),
})
if err != nil || result.Code != 200 {
if err != nil {
return nil, err
@@ -136,9 +154,13 @@ func (n *Netease) GetMediaUrl(meta miaosic.MetaData, quality miaosic.Quality) ([
}
urls := make([]miaosic.MediaUrl, 0)
for _, u := range result.Data {
qualityStr, ok := u.Level.(string)
if !ok {
qualityStr = "unknown"
}
urls = append(urls, miaosic.MediaUrl{
Url: u.Url,
Quality: miaosic.QualityUnk,
Quality: miaosic.Quality(qualityStr),
})
}
return urls, nil

View File

@@ -0,0 +1,18 @@
package netease
import "github.com/AynaLivePlayer/miaosic"
// todo jyeffect => 高清环绕声, Audio Vivid, 高清臻音(spatial audio)
// 如果不存在会获取最高的
const (
// 音质
QualityStandard miaosic.Quality = "standard" // 标准 128kbps vip
QualityHigher miaosic.Quality = "higher" // 较高 vip
QualityExHigh miaosic.Quality = "exhigh" // 极高(HQ) 最高320kbps vip
QualityLossless miaosic.Quality = "lossless" // 无损(SQ) 最高 48kHz/16bit vip
QualityHiRes miaosic.Quality = "hires" // 高解析度无损(Hi-Res) 最高192kHz/24bit vip
QualityJyMaster miaosic.Quality = "jymaster" // 超清母带 192kHz/24bit svip
// 空间音感
QualitySky miaosic.Quality = "sky" // 沉浸环绕声 Surround Audio svip
)