Win10电脑变蓝牙音箱教程

微软win10 2004版本增加了A2DP SNK功能,该教程请确保系统在此系统版本以上,win+r命令行输入:winver在弹出窗口确定系统版本,版本不满足请自行更新系统。首先蓝牙配对连接手机跟电脑,然后,打开Windows应用商店,搜索Bluetooth Audio Receiver下载安装即可,打开软件选择我手机的蓝牙名称,点击Open Connection,等待它连接完成即可。此教程可配Scrcpy完成电脑有声投屏幕。

Scrcpy相关文件下载汇总

Scrcpy相关资源可至开源项目下载,当然开源项目托管在github上下载太慢,因此我将部分Scrcpy资源放在网盘供下载,windows电脑根据自己的系统版本(64还是32位的选择合适版本),ScrcpyWin为通用版本,64、32位都可以使用。下载地址:https://hik.lanzoux.com/b0107qicf密码:2gij

ScrcpyWin便捷启动工具v1.0.1

简介ScrcpyWin是一款Windows上可视化启动Scrcpy的GUI工具。可让你更便携地控制手机,绿色便携一触即发。ScrcpyWin单文件下载:v1.0.1 版:https://hik.lanzoux.com/iIkOtm0desh更新日志:优化细节加入快捷键说明,加入安卓导航键开关v1.0 版本:https://hik.lanzoux.com/iYIVFlreqziScrcpy 是一款免费开源的投屏软件,支持将安卓手机屏幕投放在 Windows、macOS、GNU/Linux 上,并可直接借助鼠标在投屏窗口中进行交互和录制。项目地址:https://github.com/Genymobile/scrcpy网盘下载:https://cway.top/post/889.html使用说明手机端准备手机端请在设置中连点手机版本号打开开发者模式,在开发者模式中开启USB调试与USB调试(安全设置),开启安全设置主要是方便可以在电脑端控制手机屏幕。电脑端使用解压scrcpy-win64-v1.17.zip到文件夹,下载ScrcpyWin_1.0.exe移动至scrcpy程序目录即可(必须放程序目录中,否则启动会提示找不到文件),启动ScrcpyWin_1.0.exe即可愉快使用,当然你可以将该exe发送快捷方式到桌面。用数据线连接电脑,打开软件后看到如下界面:刷新设备右侧框中显示设备device名称说明设备已连接,拔出或插上手机都请点击刷新设备,有设备代表可以连接,请选择其中一个设备开始投屏,若只有一个设备可不选择。无线连接请输入正确手机局域网IP(手机与电脑必须同一局域网),小米手机可在 设置-我的设备-全部参数-状态信息 中查看本机局域网IP地址,其它品牌手机可扫软件右下角二维码获取app查看或者使用其它方式查看。注意:无线网第一次连接请插上数据线激活,输入正确无线地址后点无线连接,连接后刷新设备会看到两个设备,一个随机字符串开头为有线连接设备,一个IP开头的设备即为无线设备,此时拔掉数据线即可。之后通过断开连接可直接通过无线连接按钮进行连接。投屏快捷键在以下列表中, MOD 是快捷键的修饰键。 默认是 (左) Alt 或 (左) Super。Windows上默认MOD键为Alt,以下快捷键请用alt代替。操作快捷键全屏MOD+f向左旋转屏幕MOD+← (左箭头)向右旋转屏幕MOD+→ (右箭头)将窗口大小重置为1:1 (匹配像素)MOD+g将窗口大小重置为消除黑边MOD+w | 双击¹点按 主屏幕MOD+h | 鼠标中键点按 返回MOD+b | 鼠标右键²点按 切换应用MOD+s点按 菜单 (解锁屏幕)MOD+m点按 音量+MOD+↑ (上箭头)点按 音量-MOD+↓ (下箭头)点按 电源MOD+p打开屏幕鼠标右键²关闭设备屏幕 (但继续在电脑上显示)MOD+o打开设备屏幕MOD+Shift+o旋转设备屏幕MOD+r展开通知面板MOD+n收起通知面板MOD+Shift+n复制到剪贴板³MOD+c剪切到剪贴板³MOD+x同步剪贴板并粘贴³MOD+v注入电脑剪贴板文本MOD+Shift+v打开/关闭FPS显示 (在 stdout)MOD+i捏拉缩放Ctrl+按住并移动鼠标¹双击黑边可以去除黑边 ²点击鼠标右键将在屏幕熄灭时点亮屏幕,其余情况则视为按下返回键 。 ³需要安卓版本 Android >= 7。所有的 Ctrl+按键 的快捷键都会被转发到设备,所以会由当前应用程序进行处理。详细说明请访问项目:https://github.com/Genymobile/scrcpy/blob/master/README.zh-Hans.md

ScrcpyWin便捷启动工具v1.0.1

安卓本地IP获取

一款极其简单的安卓App,获取手机本地的IP地址。若切换网络,请退出软件重新打开。参考使用js:JS获取本机IP地址apk网盘下载:https://hik.lanzoux.com/inXvSlrcurc

JS获取本机IP地址

JS获取本地ip地址,可能部分浏览器无法使用。<!DOCTYPE html><html><head> <title></title></head><body></body><script type="text/javascript">function getUserIP(onNewIP) { // onNewIp - your listener function for new IPs //compatibility for firefox and chrome var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; var pc = new myPeerConnection({ iceServers: [] }), noop = function() {}, localIPs = {}, ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g, key; function iterateIP(ip) { if (!localIPs[ip]) onNewIP(ip); localIPs[ip] = true; } //create a bogus data channel pc.createDataChannel(""); // create offer and set local description pc.createOffer().then(function(sdp) { sdp.sdp.split('\n').forEach(function(line) { if (line.indexOf('candidate') < 0) return; line.match(ipRegex).forEach(iterateIP); }); pc.setLocalDescription(sdp, noop, noop); }).catch(function(reason) { // An error occurred, so handle the failure to connect }); //sten for candidate events pc.onicecandidate = function(ice) { if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return; ice.candidate.candidate.match(ipRegex).forEach(iterateIP); };}// UsagegetUserIP(function(ip){ alert("Got IP! :" + ip);});</script></html>

文件名批量修改或替换指定字符工具

经常会遇到网上下载文件文件名前会带网站前缀的情况,这时若前缀过长可能会给找文件带来不少麻烦,因此如何将其替换掉是个问题,Windows上可用bat执行批量修改文件名,但也可以用软件,如下:直接打开要批量修改文件所在文件夹,这是不是更直观了呢?下载地址:https://hik.lanzoux.com/inZtIlgchsj作者网站:https://www.binfensoft.cn/archives/353

文件名批量修改或替换指定字符工具

Java仿站扒站程序

开源地址:https://gitee.com/mail_osc/templatespider顺便我将它打成jar包了:https://hik.lanzoux.com/iwq6tlfauxe进到程序目录执行命令行启动:java -jar templatespider.jar输入地址会爬取网站在jar包所在文件夹。另感觉效果不好或不想安装Java环境,可采取Teleport Ultra

PHP、HTML外链转内链go.php跳转代码

新建go.php文件,复制以下代码,上传到你的网站,使用例如:http://localhost/go.php?https://cway.top在robots.txt中添加 Disallow:/go.php?* 代码即可屏蔽跳转链接。<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>页面加载中,请稍候...</title><style>body{background:#000}.loading{-webkit-animation:fadein 2s;-moz-animation:fadein 2s;-o-animation:fadein 2s;animation:fadein 2s}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-o-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}.spinner-wrapper{position:absolute;top:0;left:0;z-index:300;height:100%;min-width:100%;min-height:100%;background:rgba(255,255,255,0.93)}.spinner-text{position:absolute;top:50%;left:50%;margin-left:-90px;margin-top: 2px;color:#BBB;letter-spacing:1px;font-weight:700;font-size:36px;font-family:Arial}.spinner{position:absolute;top:50%;left:50%;display:block;margin-left:-160px;width:1px;height:1px;border:25px solid rgba(100,100,100,0.2);-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px;border-left-color:transparent;border-right-color:transparent;-webkit-animation:spin 1.5s infinite;-moz-animation:spin 1.5s infinite;animation:spin 1.5s infinite}@-webkit-keyframes spin{0%,100%{-webkit-transform:rotate(0deg) scale(1)}50%{-webkit-transform:rotate(720deg) scale(0.6)}}@-moz-keyframes spin{0%,100%{-moz-transform:rotate(0deg) scale(1)}50%{-moz-transform:rotate(720deg) scale(0.6)}}@-o-keyframes spin{0%,100%{-o-transform:rotate(0deg) scale(1)}50%{-o-transform:rotate(720deg) scale(0.6)}}@keyframes spin{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(720deg) scale(0.6)}}</style></head><body><div class="loading"><div class="spinner-wrapper"><span class="spinner-text">页面加载中,请稍候...</span><span class="spinner"></span></div></div></body></html><?php$URLs = $_SERVER["QUERY_STRING"];$URLs = urldecode($URLs);if ($URLs == ''){$URLs = 'https://cway.top/';}print ($URLs);//exit;header("refresh:1;url=".$URLs); // 1秒后跳转到传入地址?>当然了,改写成HTML也非常简单,使用:http://localhost/go.html?https://cway.top<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>页面加载中,请稍候...</title><style>body{background:#000}.loading{-webkit-animation:fadein 2s;-moz-animation:fadein 2s;-o-animation:fadein 2s;animation:fadein 2s}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-o-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}.spinner-wrapper{position:absolute;top:0;left:0;z-index:300;height:100%;min-width:100%;min-height:100%;background:rgba(255,255,255,0.93)}.spinner-text{position:absolute;top:50%;left:50%;margin-left:-90px;margin-top: 2px;color:#BBB;letter-spacing:1px;font-weight:700;font-size:36px;font-family:Arial}.spinner{position:absolute;top:50%;left:50%;display:block;margin-left:-160px;width:1px;height:1px;border:25px solid rgba(100,100,100,0.2);-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px;border-left-color:transparent;border-right-color:transparent;-webkit-animation:spin 1.5s infinite;-moz-animation:spin 1.5s infinite;animation:spin 1.5s infinite}@-webkit-keyframes spin{0%,100%{-webkit-transform:rotate(0deg) scale(1)}50%{-webkit-transform:rotate(720deg) scale(0.6)}}@-moz-keyframes spin{0%,100%{-moz-transform:rotate(0deg) scale(1)}50%{-moz-transform:rotate(720deg) scale(0.6)}}@-o-keyframes spin{0%,100%{-o-transform:rotate(0deg) scale(1)}50%{-o-transform:rotate(720deg) scale(0.6)}}@keyframes spin{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(720deg) scale(0.6)}}</style></head><body><div class="loading"><div class="spinner-wrapper"><span class="spinner-text">页面加载中,请稍候...</span><span class="spinner"></span></div></div></body></html><script> let url = window.location.search.substring(1); var t = 1; setInterval("go()", 1000); function go() { if (t == 0) { if (url == '') { window.location.href = 'https://cway.top/'; } else { window.location.href = url; } } t--; }</script>

Java根据余弦定理计算文本相似度

余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫”余弦相似性”。我们知道,对于两个向量,如果他们之间的夹角越小,那么我们认为这两个向量是越相似的。余弦相似性就是利用了这个理论思想。它通过计算两个向量的夹角的余弦值来衡量向量之间的相似度值。余弦相似性推导公式如下: public class Cosine { public static double getSimilarity(String doc1, String doc2) { if (doc1 != null && doc1.trim().length() > 0 && doc2 != null&& doc2.trim().length() > 0) { Map<Integer, int[]> AlgorithmMap = new HashMap<Integer, int[]>(); //将两个字符串中的中文字符以及出现的总数封装到,AlgorithmMap中 for (int i = 0; i < doc1.length(); i++) { char d1 = doc1.charAt(i); if(isHanZi(d1)){//标点和数字不处理 int charIndex = getGB2312Id(d1);//保存字符对应的GB2312编码 if(charIndex != -1){ int[] fq = AlgorithmMap.get(charIndex); if(fq != null && fq.length == 2){ fq[0]++;//已有该字符,加1 }else { fq = new int[2]; fq[0] = 1; fq[1] = 0; AlgorithmMap.put(charIndex, fq);//新增字符入map } } } } for (int i = 0; i < doc2.length(); i++) { char d2 = doc2.charAt(i); if(isHanZi(d2)){ int charIndex = getGB2312Id(d2); if(charIndex != -1){ int[] fq = AlgorithmMap.get(charIndex); if(fq != null && fq.length == 2){ fq[1]++; }else { fq = new int[2]; fq[0] = 0; fq[1] = 1; AlgorithmMap.put(charIndex, fq); } } } } Iterator<Integer> iterator = AlgorithmMap.keySet().iterator(); double sqdoc1 = 0; double sqdoc2 = 0; double denominator = 0; while(iterator.hasNext()){ int[] c = AlgorithmMap.get(iterator.next()); denominator += c[0]*c[1]; sqdoc1 += c[0]*c[0]; sqdoc2 += c[1]*c[1]; } return denominator / Math.sqrt(sqdoc1*sqdoc2);//余弦计算 } else { throw new NullPointerException(" the Document is null or have not cahrs!!"); } } public static boolean isHanZi(char ch) { // 判断是否汉字 return (ch >= 0x4E00 && ch <= 0x9FA5); /*if (ch >= 0x4E00 && ch <= 0x9FA5) {//汉字 return true; }else{ String str = "" + ch; boolean isNum = str.matches("[0-9]+"); return isNum; }*/ /*if(Character.isLetterOrDigit(ch)){ String str = "" + ch; if (str.matches("[0-9a-zA-Z\\u4e00-\\u9fa5]+")){//非乱码 return true; }else return false; }else return false;*/ } /** * 根据输入的Unicode字符,获取它的GB2312编码或者ascii编码, * * @param ch 输入的GB2312中文字符或者ASCII字符(128个) * @return ch在GB2312中的位置,-1表示该字符不认识 */ public static short getGB2312Id(char ch) { try { byte[] buffer = Character.toString(ch).getBytes("GB2312"); if (buffer.length != 2) { // 正常情况下buffer应该是两个字节,否则说明ch不属于GB2312编码,故返回'?',此时说明不认识该字符 return -1; } int b0 = (int) (buffer[0] & 0x0FF) - 161; // 编码从A1开始,因此减去0xA1=161 int b1 = (int) (buffer[1] & 0x0FF) - 161; return (short) (b0 * 94 + b1);// 第一个字符和最后一个字符没有汉字,因此每个区只收16*6-2=94个汉字 } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return -1; } public static void main(String[] args) { String str1="担保人姓名"; String str2="个人法定名称"; long start=System.currentTimeMillis(); double Similarity=Cosine.getSimilarity(str1, str2); System.out.println("用时:"+(System.currentTimeMillis()-start)); System.out.println(Similarity); }}

Java根据余弦定理计算文本相似度

HTML页面正常显示防盗链图片方法

header加入meta以下代码即可:<meta name="referrer" content="never">或者在img src标签里增加<img referrer="no-referrer|origin|unsafe-url" src="图片链接"/>参数referer 的 metedata 属性可设置content属性值为以下集合:neveralwaysorigin结果如果referer-policy的值为never:删除http head中的referer;如果referer-policy的值为default:如果当前页面使用的是https协议,而正要加载资源使用的是普通的http协议,则将http header中额referer置为空;如果referer-policy的值origin:只发送origin部分;如果referer-policy的值为always:不改变http header中的referer的值;referer改成never即不会携带来源信息去请求图片,图片即可正常显示。

HTML页面正常显示防盗链图片方法