问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

千千静听的歌词服务器地址是哪个?

发布网友 发布时间:2022-05-25 03:30

我来回答

3个回答

热心网友 时间:2024-10-19 09:40

最近想做一个音乐播放器,播放器需要显示歌词,这就需要到网上下载歌词。花了两个晚上搞了一个歌词下载类,通过歌名和歌手算出响应代码到千千静听服务器下载
具体流程如下:
1、通过歌名 Title 和 歌手 Artist ,计算出歌词下载列表地址
  先把Title和Artist转换为十六进制,带入下面服务器地址
  歌词Id获取地址:http://ttlrcct2.qianqian.com/dll/lyricsvr.dll?sh?Artist={0}&Title={1}&Flags=0"
  然后连接到地址,得到一个Xml文件,可以得到歌词的下载Id
2、通过 Id 和 Title 和 Artist 算出相应的Code,具体看代码(参考自网上)
  歌词下载服务器地址:http://ttlrcct2.qianqian.com/dll/lyricsvr.dll?dl?Id={0}&Code={1}

下面是代码
  定义两个类:LyricsHelper(辅助获取歌词Id)LrcInfo(歌词下载相应信息)

public class LyricsHelper
{
//歌词Id获取地址
private static readonly string SearchPath = "http://ttlrcct2.qianqian.com/dll/lyricsvr.dll?sh?Artist={0}&Title={1}&Flags=0";

//根据artist和title获取歌词信息
public static LrcInfo[] GetLrcList(string artist, string title, string filepath)
{
string artistHex = GetHexString(artist, Encoding.Unicode);
string titleHex = GetHexString(title, Encoding.Unicode);

string resultUrl = string.Format(SearchPath, artistHex, titleHex);

XmlDocument doc = new XmlDocument();
try
{
doc.Load(resultUrl);

XmlNodeList nodelist = doc.SelectNodes("/result/lrc");
List<LrcInfo> lrclist = new List<LrcInfo>();
foreach (XmlNode node in nodelist)
{
XmlElement element = (XmlElement)node;
string artistItem = element.GetAttribute("artist");
string titleItem = element.GetAttribute("title");
string idItem = element.GetAttribute("id");
lrclist.Add(new LrcInfo(idItem, titleItem, artistItem, filepath));
}
return lrclist.ToArray();
}
catch (XmlException)
{
return null;
}
}

//把字符串转换为十六进制
public static string GetHexString(string str, Encoding encoding)
{
StringBuilder sb = new StringBuilder();
byte[] bytes = encoding.GetBytes(str);
foreach (byte b in bytes)
{
sb.Append(b.ToString("X").PadLeft(2, '0'));
}
return sb.ToString();
}
}

public class LrcInfo
{
//歌词下载地址
private static readonly string DownloadPath = "http://ttlrcct2.qianqian.com/dll/lyricsvr.dll?dl?Id={0}&Code={1}";

public string FilePath { get; set; }
public string Id { get; set; }
public string Artist { get; set; }
public string Title { get; set; }
public string LrcUri { get; set; }

public LrcInfo(string id, string title, string artist, string filepath)
{
this.FilePath = filepath;
this.Id = id.Trim();
this.Title = title;
this.Artist = artist;
//算出歌词的下载地址
this.LrcUri = string.Format(DownloadPath, Id, CreateQianQianCode());
}
public bool DownloadLrc()
{
string file = FilePath;
string directory = Path.GetDirectoryName(file) + "\\Lrc\\";
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
string filepath = directory + Path.GetFileNameWithoutExtension(file) + ".lrc";
WebRequest request = WebRequest.Create(LrcUri);

StringBuilder sb = new StringBuilder();
try
{
using (StreamReader sr = new StreamReader(request.GetResponse().GetResponseStream(), Encoding.UTF8))
{
using (StreamWriter sw = new StreamWriter(filepath, false, Encoding.UTF8))
{
sw.Write(sr.ReadToEnd());
}
}
return true;
}
catch (WebException)
{

}
return false;
}

private string CreateQianQianCode()
{
int lrcId = Convert.ToInt32(Id);
string qqHexStr = LyricsHelper.GetHexString(Artist + Title, Encoding.UTF8);
int length = qqHexStr.Length / 2;
int[] song = new int[length];
for (int i = 0; i < length; i++)
{
song[i] = int.Parse(qqHexStr.Substring(i * 2, 2), System.Globalization.NumberStyles.HexNumber);
}
int t1 = 0, t2 = 0, t3 = 0;
t1 = (lrcId & 0x0000FF00) >> 8;
if ((lrcId & 0x00FF0000) == 0)
{
t3 = 0x000000FF & ~t1;
}
else
{
t3 = 0x000000FF & ((lrcId & 0x00FF0000) >> 16);
}

t3 = t3 | ((0x000000FF & lrcId) << 8);
t3 = t3 << 8;
t3 = t3 | (0x000000FF & t1);
t3 = t3 << 8;
if ((lrcId & 0xFF000000) == 0)
{
t3 = t3 | (0x000000FF & (~lrcId));
}
else
{
t3 = t3 | (0x000000FF & (lrcId >> 24));
}

int j = length - 1;
while (j >= 0)
{
int c = song[j];
if (c >= 0x80) c = c - 0x100;

t1 = (int)((c + t2) & 0x00000000FFFFFFFF);
t2 = (int)((t2 << (j % 2 + 4)) & 0x00000000FFFFFFFF);
t2 = (int)((t1 + t2) & 0x00000000FFFFFFFF);
j -= 1;
}
j = 0;
t1 = 0;
while (j <= length - 1)
{
int c = song[j];
if (c >= 128) c = c - 256;
int t4 = (int)((c + t1) & 0x00000000FFFFFFFF);
t1 = (int)((t1 << (j % 2 + 3)) & 0x00000000FFFFFFFF);
t1 = (int)((t1 + t4) & 0x00000000FFFFFFFF);
j += 1;
}

int t5 = (int)Conv(t2 ^ t3);
t5 = (int)Conv(t5 + (t1 | lrcId));
t5 = (int)Conv(t5 * (t1 | t3));
t5 = (int)Conv(t5 * (t2 ^ lrcId));

long t6 = (long)t5;
if (t6 > 2147483648)
t5 = (int)(t6 - 4294967296);
return t5.ToString();
}
private long Conv(int i)
{
long r = i % 4294967296;
if (i >= 0 && r > 2147483648)
r = r - 4294967296;

if (i < 0 && r < 2147483648)
r = r + 4294967296;
return r;
}

}

热心网友 时间:2024-10-19 09:40

根据ID以及CODE去下面的地址获取歌词。   http://ttlrcct2.qianqian.com/dll/lyricsvr.dll?dl?Id={0}&Code={1}  {0}:ID  {1}:CODE

热心网友 时间:2024-10-19 09:40

搜索失败的原因可能有以下几个:
1. 你安装了什么防火墙之类的软件,当千千静听去网上搜歌词的时候你的防火墙阻止了它.如果是这样的话你可以在防火墙中设置一下使千千静听可以访问网络..
2. 你掉线了,或者网速太差..检查下你的网络...
3. 当时千千静听歌词服务器*你的访问,原因也许是访问量过大导致的服务器崩溃....这种情况的话要么你等待,要么就换个歌词服务器,歌词服务器有很多,你可以自己去搜~
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
想你花就开了是什么意思 ...轻弹簧下端固定在水平面上.一个小球从弹簧正上方某一高度处由静止... ...弹簧下端固定在水平地面上,质量为m的小球从轻弹簧的正上方某一高处... ...一竖直弹簧下端固定于水平地面上,小球从弹簧的正上方高为h的地方自... ...结婚证,孩子户口也在女方家,男方可以要求拿抚养权吗? 小男孩适合戴哪些翡翠小男孩适合戴什么翡翠 产后尿道口痛是什么原因 产后尿道口疼怎么回事 ...同种点电荷连线上和中垂线上电势的变化规律 办理北京银行需要什么手续 有没有最新《迷你歌词》下载器的中文版 有什么音乐播放器可以下载歌词 有没有可以自动下载本地所有音乐歌词的程序? 肾错构瘤该注意什么 多发肾错构瘤注意什么饮食 请问专家,我有肾脏错构瘤,怎么治疗,生活要注意什么? 肾脏错构瘤要注意什么 微信 删除联系人后 还是可以在隐私黑名单里看到你删过谁 如何彻底清空... ...世缘年度财务报表?像今世缘一样的好股票还有哪些? 推荐几只超级低估的股票? 哪些股票属于价值低估 舍得酒业的股价为何这么低 舍得酒业股历史最低股价 股票舍得酒业价位,股票600702价位 舍得酒业是低估值吗?舍得酒业今天股票什么价格?舍得酒业吧 600702 股吧... 净水器滤芯更换视频教程 为什么华为手机3玩游戏或上网总是闪屏 华为玩rpg闪屏如何解决 如何下载视频,特别是CCTV里的片段 重点大学毕业,工作4年月薪3000,学历和能力的边界在哪里? 怎么下载歌词同步 那里有能自动配置歌词的播放器下载啊??? 迁跨省户口需要什么手续? 红焖羊肉炖萝卜怎么做 如何将IPHONEQQ空间的里得照片批量保存在iphone里 美国电信运营商sprint、verizon,哪个用的4g频段跟中国电信fdd lte频 ... 小米5和小米note3全网通的4G在美国能用吗? 是不是美国的4G网络与中国的包括电信移动联通的都不一样? 联通4g网络更适合带去美国用4g频段吗 c盘一般留多大合适 sgs气压杆几级比较好 vivoxplay6玻璃手机壳可以做吗 vivoX20和vivoXplay6对比 步步高xplay手机智能锁屏感应区在手机的哪个位置 为什么有些手机壳用... vivoxplay5a卡屏是怎么回事 美科星MW155R路由器如何设置,比如网上邻居里面如何设置?网页部分怎么... 有关于&quot;心理暗示&quot;这个研究课题的各种理论依据,名家说法,经典名著,还有... 求与积极心理暗示相关的实验 电脑进不去路由器怎么解决 想问一下 溶脂针瘦大腿怎么样效果