效果图
使用get方法访问相关页面 返回json数组
<?php
/**
* music search action
* @name music_name
* @page
*/
$name=get_input('name','aa');
$name = urlencode($name);
$page=max(1,intval(get_input('page',1)));
$url="http:/"."/www.xiami.com/app/nineteen/search/key/$name/page/$page/size/1?random=1123132112132";
$file_contents = file_get_contents($url);
echo $file_contents;
exit;
js处理
/**
*根据虾米 搜索音乐
*/
elgg.thewire.musicSearch = music_search;
function music_search(){
var music_name=$('#music_name');
var pages=$('#music_page').val();
if(pages == null){
pages = 1;
}
if(music_name.val()==''){
alert('请输入需要搜索的歌名');
music_name.focus();
return false;
}
$('#music_list').html('<span style="color:red"><img src="<?php echo elgg_get_site_url()?>images/loading.gif">正在检索,请稍等...</span>');
$.ajax({
type:'post',
url:elgg.security.addToken('<?php echo elgg_get_site_url()?>action/music/search'),
data:{name:music_name.val(),page:pages},
success:function(d){
//alert(d);
// return false;
d= eval('('+d+')');
var json=eval(d.results);
if(json.length>0){
var totle = d.total;
var num = Math.ceil(totle/8);
var phtml = page_html(pages,num);
//var phtml='';
$('#music_list').html('<ul class="tagB" style="display:block"><div id="add_ajax_favorite_tags" class="music_end"></div><div>'+ phtml +'</div></ul>');
for(var i=0; i<json.length; i++) {
json[i].song_name = decodeURIComponent(json[i].song_name).replace(/\+|'|"/g," ");
json[i].artist_name = decodeURIComponent(json[i].artist_name).replace(/\+|'|"/g," ");
var html='<span onclick="check_music('+json[i].song_id+',\''+decodeURI(json[i].artist_name)+'\',\''+decodeURI(json[i].song_name)+'\')" style="width:100%;cursor:pointer;" onmouseover="$(this).css(\'color\',\'red\');" onmouseout="$(this).css(\'color\',\'\');">'+decodeURI(json[i].song_name)+' --- '+decodeURI(json[i].artist_name)+'</span>';
$('.music_end').append(html+'<br>');
}
}else{
$('#music_list').html("未检索到符合条件的歌曲");
}
}
});
};
/**
* 制作虾米音乐的简单HTML分页代码 page:当前页 num:总页数
*/
function page_html(page,num){
page = parseInt(page);
num = parseInt(num);
var html = '';
if(num < 2){
return '';
}
if(page > 1){
var fpage = page-1;
html += '<span onclick="changepage('+ fpage +');" style="cursor:pointer;">上一页</span>';
}
if(page < num){
var npage = page+1;
html += '<span onclick="changepage('+ npage +');" style="cursor:pointer;">下一页</span>';
}
return html;
}
function changepage(page){
$('#music_page').val(page);
music_search();
}
//选择音乐
function check_music(music_id,name,music_name){
var content = music_name + '--' + name+' [music:'+music_id+']';
//alert(content);
var thewire=$('#thewire-textarea').val();
if(thewire!=''){
$('#thewire-textarea').val(thewire+content);
}else{
$('#thewire-textarea').val(content);
}
$("#music_show").hide();
}
入库之后 查询匹配显示播放器
/**
* 解析 音乐
* @param type $text
* @return type
*/
function parsemusic($text){
$text=trim($text);
$music_pattern='/(\[music:)(\d+)(\])/';
$musci_html='<div class="feedUserImg"><embed width="257" height="33"wmode="transparent" type="application/x-shockwave-flash"src="http://www.xiami.com/widget/0_${2}/singlePlayer.swf"></embed></div>';
$text= preg_replace($music_pattern,$musci_html,$text);
return $text;
}
分享到:
相关推荐
虾米音乐API是一个供开发者使用的接口,允许他们集成虾米音乐的功能到自己的应用程序或网站中。这个API的主要功能是搜索音乐,它支持实时同步显示搜索结果,并且用户可以直接通过搜索结果进行点播,提升了用户体验。...
虾米音乐API调用源码涉及的是通过编程接口与虾米音乐平台进行交互,实现对音乐资源的搜索、播放等功能。API(Application Programming Interface)是软件之间交互的一种方式,允许开发者利用特定的功能来构建自己的...
首先,我们需要了解如何使用虾米音乐的API。通常,这些API会提供搜索、播放、分页等关键功能。在描述中提到的“ajax搜索”意味着我们可以使用Ajax(异步JavaScript和XML)技术来实现实时搜索功能,用户无需刷新页面...
在实现检索功能时,用户输入关键词后,jQuery会使用Ajax发送一个GET请求到虾米音乐的搜索API,API返回的JSONP数据包含匹配的音乐信息,如歌曲ID、歌名、歌手等。这些信息可以用来动态更新页面,展示搜索结果。 选取...
PHP多站合一音乐搜索器源码 支持各大音乐平台API接口,根据音乐名称、歌手、ID、地址智能搜索,搜索音乐在线试听源码,无后台,上传访问即可使用。 支持音乐平台:网易云音乐 QQ音乐 酷狗音乐 酷我音乐 虾米音乐 ...
麦葱特制多站合一音乐搜索解决方案,支持搜索试听以下网站音乐:网易云音乐 QQ音乐 酷狗音乐 酷我音乐 虾米音乐 百度音乐 一听音乐 咪咕音乐 荔枝FM 蜻蜓FM 喜马拉雅FM 全民K歌 5sing原创 5sing翻唱
开发这样一个音乐播放器,除了前端技术,还需要一定的后端支持,如获取虾米音乐的API接口数据,实现歌曲的搜索、播放列表的获取等。同时,考虑到不同浏览器的兼容性和性能优化,开发者还需要关注代码的健壮性和效率...
var musicInfo = await GetMusicInfo("虾米音乐API接口URL"); var songs = JsonConvert.DeserializeObject<List<Song>>(musicInfo); return View(songs); } } ``` 在视图(View)层面,我们可以利用Razor语法来...
4. **虾米音乐**:阿里巴巴旗下的音乐服务,提供高音质音乐和个性化的推荐。 5. **一听音乐**:提供免费在线试听和下载,涵盖多种类型的音乐。 **支持的系统** SDMusic理论上可以在所有操作系统上运行,因为它基于...
这个播放器的独特之处在于它整合了多个主流音乐平台的资源,包括网易云音乐、QQ音乐和虾米音乐。无需数据库,用户可以直接下载并运行此应用,实现一站式音乐搜索和播放体验。 该源码的实现可能基于Web技术,如HTML...
它整合了多个主流音乐平台,包括网易云音乐、QQ音乐和虾米音乐,使得用户可以在一个应用内享受到多元化的音乐资源,无需在各个平台之间切换。这样的设计极大地提升了用户体验,简化了音乐欣赏的过程。 应用的核心...
同时,其丰富的API接口使得开发者可以进一步扩展其功能,例如与评论系统集成,实现评论时自动播放相关歌曲。 总结起来,Aplayer是一款集美观、实用和可定制性于一体的WordPress音乐播放器插件。无论你是音乐爱好者...
3. 音乐搜索:实现音乐搜索功能,源码可能使用了特定的音乐搜索引擎API,如虾米音乐、网易云音乐等。开发者需要了解这些API的工作原理,以及如何通过VB调用它们,获取搜索结果。 4. JSON 解析:搜索结果通常以JSON...
在虾米音乐这样的平台上,官方通常会提供API供开发者使用,这时使用官方API会更加合适,既能保证数据的准确性,也能避免违反相关规定。 总的来说,这个项目涉及到了Android的网络请求、HTML解析、数据抓取、音频...
全网音乐聚合意味着LYPlayer3.1涵盖了包括但不限于QQ音乐、网易云音乐、酷狗音乐、酷我音乐、虾米音乐等主流音乐平台的资源。这样,用户无需分别下载各个平台的应用,只需一个LYPlayer就能听到各种独家版权的歌曲,...
"Listen 1"是一款专为此需求设计的音乐播放器,它允许用户一站式搜索并播放来自网易云音乐、虾米音乐和QQ音乐这三大主流音乐平台的歌曲,极大地丰富了用户的曲库,提升了音乐享受的便利性。 Listen 1的核心功能在于...
5. **链接跳转与API集成**:可能还涉及到与其他音乐服务(如虾米、网易云音乐等)的API集成,允许用户跳转到外部平台查看更多歌曲信息或者进行更复杂的操作。 6. **性能优化**:为了保证“演示网站的速度”,源码...
这款插件的核心功能是在用户浏览豆瓣音乐(Douban Music)的专辑页面时,新增一个功能按钮,点击该按钮后,用户可以直接跳转到虾米音乐(Xiami Music)的相关专辑页面,或者在虾米音乐的搜索结果中展示该专辑的信息...
虾米音乐的搜索功能支持按标签(如“hip-hop”)筛选歌曲,且页面URL规则明显,便于爬取。经过预估,虾米音乐提供了大约1万两千首歌曲的可能性。在爬取虾米音乐时,作者同样先抓取URL并进行筛选以去除重复数据,最终...
《在线听音乐 v2.0》是一款集合了多个知名音乐平台资源的网页应用,它将虾米音乐、音悦台、豆瓣FM、百度音乐、一听音乐、九酷音乐、多米音乐以及贝瓦音乐等主流音乐服务整合在一个界面中,为用户提供一站式的音乐...