}else{ $data_cache .= fox_splayer_error_json(0); } cache_set("music_{$_this_music_id}", $data_cache, 60 * 10); //缓存十分钟 } $result .= $data_cache; } break; case 'kugou': foreach($music_id_array as $_this_music_id){ $_this_music_id = str_replace(array('https://www.kugou.com/mixsong/', '.html#', '.html'), '', $_this_music_id); $data_cache = cache_get("music_{$_this_music_id}"); if(empty($data_cache)){ $kugou_url = 'https://www.kugou.com/mixsong/'.$_this_music_id.'.html'; $kugou_data = fox_splayer_curl_https($kugou_url); preg_match('#"hash":"(.*?)"#i', $kugou_data, $_hash); if(!empty($_hash[1])){ $url = "https://apis.jxcxin.cn/api/kugou?id=".$_hash[1]; $data = fox_splayer_curl_https($url); if(!empty($data)){ $data = xn_json_decode($data); if(empty($data['pic'])){ $data['pic'] = str_replace(array('http://', '{size}'), array('https://', '100'), $data['avatar']); } $data['pic'] = str_replace(array('http://', '{size}'), array('https://', '100'), $data['pic']); $gourl = http_url_path().url('getmusic',array('key'=>xn_encrypt($data['url'],$conf['auth_key']))); $data_cache .= "{ name: '" . str_replace("'", "\'", $data['name']) . "', artist:'" . $data['author'] . "', url: '".$gourl."', cover: '" . $data['pic'] . "' }"; }else{ $data_cache .= fox_splayer_error_json(0); } }else{ $data_cache .= fox_splayer_error_json(0); } cache_set("music_{$_this_music_id}", $data_cache, 60 * 10); //缓存十分钟 } $result .= $data_cache; } break; case 'kuwo': foreach($music_id_array as $_this_music_id){ $_this_music_id = str_replace(array('http://www.kuwo.cn/play_detail/', 'http://bd.kuwo.cn/play_detail/'), '', $_this_music_id); $data_cache = cache_get("music_{$_this_music_id}"); if(empty($data_cache)){ $url = "https://api.lcat.top/kuwo/?type=json&rid=".$_this_music_id; $data = fox_splayer_curl_https($url); $data = xn_json_decode($data); if(!empty($data['data'])){ $data = $data['data']; $gourl = http_url_path().url('getmusic', array('key'=>xn_encrypt($data['url'], $conf['auth_key']))); $data_cache .= "{ name: '" . str_replace("'", "\'", $data['name']) . "', artist:'" . $data['artist'] . "', url: '". $gourl ."', cover: '" . $data['pic'] . "' }"; }else{ $data_cache .= fox_splayer_error_json(0); } cache_set("music_{$_this_music_id}", $data_cache, 60 * 10); //缓存十分钟 } $result .= $data_cache; } break; default: //direct foreach($music_id_array as $_this_music_id){ $data_cache = cache_get("music_{$_this_music_id}"); if(empty($data_cache)){ $array = fox_splayer_explode($thread['subject']); $data_cache .= "{ name: '" . (!empty($array['name']) ? $array['name'] : $thread['subject']) . "', artist: '" . (!empty($array['artist']) ? $array['artist'] : '未知') . "', url: '".url('getmusic', array('key'=>xn_encrypt($_this_music_id, $conf['auth_key'])))."', cover: 'plugin/fox_splayer/oddfox/static/img/default.png' },"; cache_set("music_{$_this_music_id}", $data_cache, 60 * 10); //缓存十分钟 } $result .= $data_cache; } break; } $result .= ']'."\n"; $result .= '});'; } return fox_splayer_json_encode($result); } } return ''; } function fox_splayer_netease_api($id){ $url = "https://music.163.com/api/song/detail/?id=".$id."&ids=%5B".$id."%5D"; $data = fox_splayer_curl_https($url); $data = xn_json_decode($data); if(!empty($data['songs'][0])){ return $data['songs'][0]; }else{ return array(); } } /* * 获取文件内容 * */ function fox_splayer_curl_https($url){ // 模拟提交数据函数 if(function_exists('curl_init')){ $refer = $url; $curl = curl_init(); // 启动一个CURL会话 curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在 1 or 2 curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36'); // 模拟用户使用的浏览器 if (ini_get('open_basedir') == '' && ini_get('safe_mode' == 'Off')) curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转 curl_setopt($curl, CURLOPT_REFERER, $refer); //设置Referer curl_setopt($curl, CURLOPT_TIMEOUT, 12); // 30 设置超时限制防止死循环 curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 curl_setopt($curl, CURLOPT_BINARYTRANSFER, true); $data = curl_exec($curl); // 执行操作 if(curl_errno($curl)){ //echo 'Errno' . curl_error($curl); //捕抓异常 return false; //捕抓异常 } curl_close($curl); // 关闭CURL会话 }else{ $data = file_get_contents($url); // 获取内容 } return $data; // 返回数据 } function fox_splayer_json_encode($array){ if(!empty($array)){ $array = str_replace(array("\r", "\n", " ", ": "), array('', '', '', ':'), $array); } return $array; } function fox_splayer_explode($str){ if(empty($str)) return array(); $arr1 = $arr2 = $array = array(); $arr1 = explode('《', $str); if(!empty($arr1[1])){ $array['artist'] = $arr1[0]; $arr2 = explode('》', $arr1[1]); if(!empty($arr2[0])){ $array['name'] = $arr2[0]; } return $array; } } function fox_splayer_text2audio($text = '', $api = 0){ $text2audio = ''; if(empty($text)) return FALSE; if($api == 0){ $text2audio = 'https://dict.youdao.com/dictvoice?audio='.urlencode($text).'&le=zh&type=2'; //音色最佳 $text2audio = 'https://fanyi.baidu.com/gettts?lan=zh&text='.urlencode($text).'&spd=7&source=web'; //音色不太好 }else{ //音色不太好 $text2audio = 'https://tts.baidu.com/text2audio?tex='.urlencode($text).'&cuid=baike&lan=ZH&ctp=1&pdt=301&vol=8&rate=4&spd=8'; } $data = fox_splayer_curl_https($text2audio); if(strlen($data) > 3000){ $r = file_put_contents_try(APP_PATH . 'plugin/fox_splayer/oddfox/static/audio/voicereminder.mp3', $data); return $r; } return ; } function fox_splayer_error_json($js = 0, $theme = '#090'){ global $thread, $conf, $get_splayer; $result = ''; if($js == 1){ $result .= ''."\n" . ''; } return $result; }?> 会员黑名单-xiuno插件-Xiuno论坛
0

会员黑名单

V xinyu
2024-12-05 208