`

通过搜索获得音乐文件和相应LRC文件的绝对路径

阅读更多
// 请求服务器获取xml文件
	public String getMusicXML(String musicName, String singerName) {
		 
		try {
			musicName = URLEncoder.encode(musicName,"gbk");
			singerName = URLEncoder.encode(singerName,"gbk");
		} catch (UnsupportedEncodingException e2) {
			// TODO Auto-generated catch block
			e2.printStackTrace();
		}
		String strUrl = "http://box.zhangmen.baidu.com/x?op=12&count=1&title="
				+ musicName + "$$" + singerName + "$$$$";		
		Log.e("url", strUrl);
		try {
			url = new URL(strUrl);
		} catch (Exception e1) {
			e1.printStackTrace();
		}
		
		BufferedReader br = null;
		String s;
		try {
			InputStreamReader in = new InputStreamReader(url.openStream());
			Log.e("the encode is ", in.getEncoding());
			br = new BufferedReader(in);
		} catch (IOException e1) {
			Log.e("tag", "br is null");
		}

		try {

			while ((s = br.readLine()) != null) {
				sb.append(s + "\r\n");
				br.close();
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		Log.e("sb=", sb.toString());
		return sb.toString();
	}



获得的xml文件如下:


引用
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<result>
<count>1</count>
<url>
<encode>
<![CDATA[
http://zhangmenshiting.baidu.com/data2/music/8453675/aWZoZ2ttbGaeomZzrZmmnJZva2RlmGluYWtsaWuYanBoY5ZrZ2mYb2pnlWpsbJtsaWVZoZ6adGhfamdpaGpuaGdpbGZqb244
]]>
</encode>
<decode>
<![CDATA[
8453675.mp3?xcode=800b2609956b3871c723a795b676d483&mid=0.84534706792597
]]>
</decode>
<type>8</type>
<lrcid>14706</lrcid>
<flag>1</flag>
</url>
<durl>
<encode>
<![CDATA[
http://zhangmenshiting2.baidu.com/data2/music/7339015/aGVmbWVnbGaeomZzrZmmnJZva2RlmGluYWtsaWuYanBoY5ZrZ2mYb2pnlWpsbJtsaWVZoZ6adGhfamdpaGpuaGdpbGZqb244
]]>
</encode>
<decode>
<![CDATA[
7339015.mp3?xcode=800b2609956b3871c723a795b676d483&mid=0.84534706792597
]]>
</decode>
<type>8</type>
<lrcid>14706</lrcid>
<flag>1</flag>
</durl>
<p2p>
<hash>f87e8f12130d017ab33622e2be5a444cbf3ae24a</hash>
<url>
<![CDATA[
http://zhangmenshiting.baidu.com/data2/music/5219955/5219955.mp3?xcode=800b2609956b3871c723a795b676d483
]]>
</url>
<type>mp3</type>
<size>1857593</size>
<bitrate>64</bitrate>
</p2p>
</result>



解析xml文件,获得String musicPath  String lrcPath:

// 解析xml文件,得到music文件和lrc文件的地址
	public String getLyricPath() {   
        int begin = 0, end = 0, number = 0;   
        String lrcPath = "";   
        begin = sb.indexOf("<lrcid>");      
        Log.e("test", "sb = " + sb); 
  
        if (begin != -1) {   
            end = sb.indexOf("</lrcid>", begin);   
            lrcPath = sb.substring(begin + 7, end);   
            number = Integer.parseInt(lrcPath);   
        }   
  
      	lrcPath = "http://box.zhangmen.baidu.com/bdlrc/" + number / 100  
               + "/" + number + ".lrc";   
        Log.e("test", "lrcPath = " + lrcPath);
		return lrcPath; 
        }   
	

	public String getMusicPath(){
		int begin = 0, end = 0;
        String musicPath = "";   
        begin = sb.indexOf("<p2p>");
        if(begin != -1){
        	end = sb.indexOf("</p2p>", begin);
        	musicPath = sb.substring(begin, end + 5);
        }
        begin = musicPath.indexOf("http://");  
        if (begin != -1) {   
            end = musicPath.indexOf("]]>");   
            musicPath = musicPath.substring(begin, end); 
        }   
        Log.e("test", "musicPath = " + musicPath);
		return musicPath;		
	}


得到的musicPath = "http://zhangmenshiting.baidu.com/data2/music/5219955/5219955.mp3?xcode=de853ab52489ef65d21c0ed7334abdcd"

lrcPaht = "http://box.zhangmen.baidu.com/bdlrc/147/14706.lrc"

其中musicPaht会改变,lrcPath不变
分享到:
评论

相关推荐

    MP3 文件和lrc

    MP3文件和LRC是音乐播放领域中的两个关键概念,对于开发一个本地音乐播放器至关重要。MP3是一种广泛使用的音频编码格式,而LRC则是一种歌词同步显示的标准。以下是这两个概念的详细介绍: MP3(MPEG Audio Layer 3...

    LRC歌词文件转换器

    LRC歌词文件转换器是一款专为处理歌词文件而设计的工具,主要功能是解决LRC歌词文件中的时间同步问题,并支持多种格式之间的相互转换。LRC是Lyric Repeat Codec的缩写,是一种常见的用于存储带有时间戳的歌词文本的...

    将LRC文件转换成TXT文件的小软件

    这个小软件的作用就在于此:用户可以将他们的LRC歌词文件导入这个程序,程序会解析LRC文件中的时间戳和歌词文本,然后生成一个纯文本的TXT文件,这样汉王电纸书就能同时播放音频和显示匹配的文字。 关于标签中的...

    lrc字幕和mp3音频合成工具

    本文将详细介绍“lrc字幕和mp3音频合成工具”及其使用方法,以及如何通过“create_bin”这个文件进行操作。 首先,lrc字幕是一种专门用于同步歌词的文本文件格式,它包含时间戳信息,使得歌词能够与音乐中的特定...

    对文件进行lrc计算

    【标题】:“对文件进行lrc计算”是指利用MFC(Microsoft Foundation Classes)库开发的一款工具,用于计算文件的循环冗余校验(CRC,Cyclic Redundancy Check),更具体地是LRC(Longitudinal Redundancy Check)。...

    C#处理字幕文件(srt和Lrc格式)并根据时间进行剪辑

    C#处理字幕文件(srt和Lrc格式)并根据时间进行剪辑,可以从srt文件和lrc文件中解析出里面每一段的字幕形成集合。并且可以根据一个所给的开始时间和结束时间来或者一个处于两者之间字幕的集合。这个工具类只支持最长...

    歌词lrc文件目录文本搜索小工具

    【歌词lrc文件目录文本搜索小工具】是一个专门针对歌词文件(lrc格式)的搜索应用,它允许用户通过输入多个关键词来快速查找相应的歌词文件。这个工具的主要功能是提高用户在大量歌词文件中查找特定内容的效率。下面...

    基于java的lrc歌词文件解析工具

    这样,其他类就可以通过调用此方法并传入LRC文件的路径来获取歌词列表。 总的来说,这个基于Java的LRC歌词文件解析工具提供了处理LRC文件的实用功能,可以帮助开发者轻松地在音乐播放应用中实现歌词同步显示。通过...

    LRC歌词文件转换器 V3.1

    【基本介绍】 “LRC歌词文件转换器”是一款免费的歌词字幕文件格式转换软件。... 软件提示“转换成功”,若在选项中设置了输出路径复制到剪贴板,则输出文件的路径被复制到剪贴板,以便后续操作使用

    图新地球(LSV)自定义图源lrc

    此外,lrc文件中的数据源路径可能需要根据本地文件位置进行调整,以确保图新地球能正确读取数据。 总的来说,《图新地球(LSV)自定义图源lrc》为用户提供了一个丰富多样的地图展示工具箱,通过灵活运用这些资源,...

    易语言解析LRC歌词文件模块

    【易语言解析LRC歌词文件模块】是一种专用于处理LRC格式歌词的程序模块,它由易语言开发者设计,主要用于帮助程序员轻松地读取和分析这种特定类型的文本文件。LRC歌词文件通常与音乐文件一起使用,显示歌曲的逐句...

    LRC歌词文件转换器 2.87

    从网上下载音乐、电影时,常常有歌词、字幕文件与之相伴。本软件能将LRC文件内的歌词重新排序,像显示歌词的软件一样按实际顺序将歌词输出。并且可以完成LRC、SMI、SRT、SSA、KSC、TXT文件的互相转换。还可以进行LRC...

    Lrc歌词文件格式及其C++代码实现

    Lrc歌词文件格式是一种基于纯文本的歌词专用格式,用于存储和显示歌曲的歌词信息。该格式由郭祥祥先生(Djohan)提出,并在其程序中得到应用。Lrc歌词文件可以用来实现卡拉OK功能,并可以使用普通的文字处理软件查看...

    SRT歌词转LRC万能转换器.rar

    LRC歌词文件 是同步歌词文件,内含时间标签信息,此类型文件广泛应用于各种随身听和播放器中,你可以将电影字幕转换为此格式,从而实现听电影看对白学外语。KSC字幕文件是小灰熊卡拉OK字幕文件,时间信息精确到字。...

    lrc歌词转换工具

    《lrc歌词转换工具》是一款专为音乐爱好者设计的实用软件,主要功能是将lrc格式的歌词转换为其他类型的歌词格式,以满足不同设备或平台的...通过其便捷的转换功能和广泛的格式支持,使得管理个人音乐库变得更加轻松。

    lrc歌词编码转换

    总的来说,这个“lrc歌词编码转换”工具是针对音乐爱好者和有特定设备需求的用户设计的,它通过C#编程实现,解决了lrc歌词在不同编码环境下的兼容性问题,提供了一种便捷的批量转换解决方案。对于那些遇到歌词显示...

    LRC校验码自动生成

    **LRC校验码自动生成** ...通过理解和应用LRC,可以提高数据传输的可靠性,降低因数据错误导致的问题。在实际项目中,根据具体需求,可能还需要考虑其他更复杂的校验和算法,如CRC(Cyclic Redundancy Check)。

    lrc文件转码utf-8

    写js音乐播放器的时候用到的工具,从网上下下来的.lrc格式的文件,用的时候是乱码,用法非常简单,将lrc文件拖动到这个工具上就行,它会弹出一段话意思就是成功了,这时候你用的时候就发现不会乱码了。

Global site tag (gtag.js) - Google Analytics