types

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var LevelString = map[Level]string{
	LevelStandard: "标准",
	LevelHigher:   "较高",
	LevelExhigh:   "极高(HQ)",
	LevelLossless: "无损(SQ)",
	LevelHires:    "高解析度无损(Hi-Res)",
	LevelJyeffect: "高清臻音(Spatial Audio)",
	LevelSky:      "沉浸环绕声品质(Surround Audio)",
	LevelJymaster: "超清母带品质(Master)",
}

Functions

This section is empty.

Types

type Album

type Album struct {
	// Id 专辑id
	Id int64 `json:"id"`
	// Name 专辑名
	Name string `json:"name"`
	// PicUrl 专辑图片
	PicUrl string        `json:"picUrl"`
	Tns    []interface{} `json:"tns"`
	PicStr string        `json:"pic_str"`
	Pic    int64         `json:"pic"`
}

Album 专辑信息.

type ApiRespCommon

type ApiRespCommon[T any] struct {
	Code      int64       `json:"code,omitempty"`
	Message   string      `json:"message,omitempty"`
	Msg       string      `json:"msg,omitempty"`
	DebugInfo interface{} `json:"debugInfo,omitempty"`
	FailData  interface{} `json:"failData,omitempty"`
	Data      T           `json:"data,omitempty"`
}

ApiRespCommon api接口通用返回结构

type Artist

type Artist struct {
	// Id 歌手id
	Id int64 `json:"id"`
	// Name 歌手名
	Name  string        `json:"name"`
	Tns   []interface{} `json:"tns"`
	Alias []interface{} `json:"alias"`
}

Artist 歌手信息.

type ChargeInfo

type ChargeInfo struct {
	Rate          int64       `json:"rate"`
	ChargeUrl     interface{} `json:"chargeUrl"`
	ChargeMessage interface{} `json:"chargeMessage"`
	ChargeType    int64       `json:"chargeType"`
}

type Free

type Free int64

func (Free) String

func (f Free) String() string

type FreeTimeTrialPrivilege

type FreeTimeTrialPrivilege struct {
	RemainTime     int64 `json:"remainTime"`
	ResConsumable  bool  `json:"resConsumable"`
	Type           int64 `json:"type"`
	UserConsumable bool  `json:"userConsumable"`
}

type FreeTrialInfo added in v0.3.2

type FreeTrialInfo struct {
	Start int64 `json:"start"`
	End   int64 `json:"end"`
}

FreeTrialInfo 试听信息? see: https://github.com/Binaryify/NeteaseCloudMusicApi/issues/1713

type FreeTrialPrivilege

type FreeTrialPrivilege struct {
	FreeLimitTagType   interface{} `json:"freeLimitTagType"`
	CannotListenReason interface{} `json:"cannotListenReason"`
	ListenType         interface{} `json:"listenType"`
	PlayReason         interface{} `json:"playReason"`
	ResConsumable      bool        `json:"resConsumable"`
	UserConsumable     bool        `json:"userConsumable"`
}

type IntsString

type IntsString []int64

func (IntsString) MarshalJSON

func (i IntsString) MarshalJSON() ([]byte, error)

type Level

type Level string

Level 音乐品质级别

const (
	// LevelStandard 标准品质 128000
	LevelStandard Level = "standard"
	// LevelHigher 较高品质 192000
	LevelHigher Level = "higher"
	// LevelExhigh 极高品质 320000
	LevelExhigh Level = "exhigh"
	// LevelLossless 无损品质
	LevelLossless Level = "lossless"
	// LevelHires Hi-Res品质
	LevelHires Level = "hires"
	// LevelJyeffect 高清环绕声品质/高清臻音
	LevelJyeffect Level = "jyeffect"
	// LevelSky 沉浸环绕声品质
	LevelSky Level = "sky"
	// LevelJymaster 超清母带品质
	LevelJymaster Level = "jymaster"
)

音质从低到高排序(其中jyeffect、sky、杜比、jymaster高低有待确认)

type Privileges

type Privileges struct {
	Id    int64 `json:"id"`
	Fee   int64 `json:"fee"`
	Payed int64 `json:"payed"`
	// St 小于0时为灰色歌曲, 使用上传云盘的方法解灰后 st == 0
	St   int64 `json:"st"`
	Pl   int64 `json:"pl"`
	Dl   int64 `json:"dl"`
	Sp   int64 `json:"sp"`
	Cp   int64 `json:"cp"`
	Subp int64 `json:"subp"`
	// Cs 是否为云盘歌曲
	Cs    bool  `json:"cs"`
	Maxbr int64 `json:"maxbr"`
	Fl    int64 `json:"fl"`
	// Toast 是否「由于版权保护,您所在的地区暂时无法使用。」
	Toast         bool  `json:"toast"`
	Flag          int64 `json:"flag"`
	PreSell       bool  `json:"preSell"`
	PlayMaxbr     int64 `json:"playMaxbr"`
	DownloadMaxbr int64 `json:"downloadMaxbr"`
	// MaxBrLevel 歌曲最高音质
	MaxBrLevel         string `json:"maxBrLevel"`
	PlayMaxBrLevel     string `json:"playMaxBrLevel"`
	DownloadMaxBrLevel string `json:"downloadMaxBrLevel"`
	// PlLevel 当前用户的该歌曲最高试听音质
	PlLevel string `json:"plLevel"`
	// DlLevel 当前用户的该歌曲最高下载音质
	DlLevel string `json:"dlLevel"`
	// FlLevel 免费用户的该歌曲播放音质
	FlLevel            string             `json:"flLevel"`
	Rscl               interface{}        `json:"rscl"`
	FreeTrialPrivilege FreeTrialPrivilege `json:"freeTrialPrivilege"`
	RightSource        int64              `json:"rightSource"`
	ChargeInfoList     []ChargeInfo       `json:"chargeInfoList"`
}

Privileges see: https://docs-neteasecloudmusicapi.vercel.app/docs/#/?id=%e8%8e%b7%e5%8f%96%e6%ad%8c%e6%9b%b2%e8%af%a6%e6%83%85

type Qualities

type Qualities struct {
	// L 标准品质
	L *Quality `json:"l"`
	// M 高品质音质,通常客户端好像看不到这个音质了目前
	M *Quality `json:"m"`
	// H 极高品质
	H *Quality `json:"h"`
	// Sq 无损品质
	Sq *Quality `json:"sq"`
	// Hr Hi-Res品质
	Hr *Quality `json:"hr"`
	// Je 高清环绕声品质
	Je *Quality `json:"je"`
	// Sk 沉浸环绕声品质
	Sk *Quality `json:"sk"`
	// Jm 超清母带品质
	Jm *Quality `json:"jm"`
}

func (Qualities) FindBetter

func (q Qualities) FindBetter(l Level) (*Quality, Level, bool)

FindBetter 根据指定l获取音质信息,如果找到则返回对应级别得音乐信息并返回true, 如果找不到则降级返回最接近得音质信息,并返回false

type Quality

type Quality struct {
	// Br(Bit Rate) 码率
	Br int64 `json:"br"`
	// Fid 貌似是对应网易云存储中得文件ID
	Fid int64 `json:"fid"`
	// Size 文件大小
	Size int64 `json:"size"`
	// Vd(Volume Delta) 音量增量
	Vd float64 `json:"vd"`
	// Sr(Sample Rate) 采样率
	Sr int64 `json:"sr"`
}

Quality 音质信息

type ReqCommon

type ReqCommon struct {
	CSRFToken string `json:"csrf_token,omitempty"`
}

ReqCommon weapi通用请求字段

type RespCommon

type RespCommon[T any] struct {
	Code    int64  `json:"code,omitempty"`
	Message string `json:"message,omitempty"`
	Msg     string `json:"msg,omitempty"`
	Data    T      `json:"data,omitempty"`
}

RespCommon weapi通用返回字段

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL