信最方便之處莫過于語音功能,
但就是這個語音功能,
也成了騙子騙錢最便捷的手段,
這不,已經有不少人上當受騙!
陛下,您的Flash插件已過期,無法播放視頻了
建議您……
升級 Flash 插件
切換到 HTML5 播放器
或者
微信語音詐騙
很多人不知道,聲音也是可以偽造的,騙子就是通過微信發偽造語音,來獲取對方的信任,最終達到騙錢的目的,騙子具體是怎么做的呢?
詐騙第一步:盜取微信賬號
騙子要用微信語音騙錢,第一步會先通過植入木馬等非法手段盜取你的微信賬戶,竊取你微信里的相關信息。
所以我們平時在使用微信時要時刻警惕手機里的陌生鏈接和異常二維碼,對自己的微信賬號和密碼也要嚴加防守,不可輕易泄露給別人。
詐騙第二步:登錄“克隆微信”軟件
大家平常使用的微信都是正版微信,沒有“一鍵轉發語音”的功能,而這個克隆微信它是“增強版的微信”,不僅能一鍵轉發語音,還可以提取語音文件,模擬受害者的聲音發語音騙錢。
更可怕的是,這種“克隆微信”在很多購物網站上都有售賣,只需花幾十塊錢就可以買到。
詐騙第三步:通過“克隆微信號”實施詐騙
有了克隆微信后,通過克隆出來的微信賬號,就能看到原微信賬號的所有信息,并提取微信里的語音信息,給好友發消息,騙子就是這樣完成詐騙的。
騙子的手段實在是高明,語音也能克隆,這正好提醒大家,耳聽也不一定為實,涉及到錢的一定要當面確認,別發語音,直接視頻或者打電話。
常見詐騙手段
微信在生活中使用越來越頻繁,圍繞微信展開的詐騙也越來越多,除了微信語音詐騙,這些詐騙的手段也要早日識破。
木馬紅包
微信有發紅包的功能,很多人一看到微信紅包就想點,但很多紅包只是一個陷阱,有些“紅包”并不是微信官方紅包,只是長得像。
打開了這種紅包,就會要求用戶輸入手機號碼,依次操作下來,你的手機就已經被安裝了木馬程序。
木馬一旦入侵你的手機,就會竊取你手機里的各種私密信息,你手機里的錢就危險了,并且還會以你的身份給更多人發類似的“病毒紅包”,讓病毒擴散,所以看到這樣的紅包千萬別點。
二維碼詐騙
類似的還有二維碼詐騙,商家以給消費者返利或者優惠為由,給消費者發送有毒二維碼,消費者一旦掃了這個二維碼,手機就面臨中毒的風險。
幫忙砍價
微信朋友圈經常會看到幫忙“砍一刀”的消息,有的真的是為了幫忙砍價,而有的純碎是為了套取粉絲關注或者騙取個人信息等,這時候要警惕,一定要在正規平臺完成“砍一刀”活動。
假冒微信好友
有些騙子更狡猾,假冒微信好友,說自己的手機刷機以后,電話號碼都沒有了,讓你把你的電話號碼發過來,發過去以后謊稱自己的微信登錄需要驗證,又讓你發短信驗證碼,就這樣輕易就用你的手機號碼完成注冊或轉賬。
微信轉賬追回
騙子的手段總是讓人防不勝防,萬一真的被騙了也別緊張,小編教你怎么及時追回損失。
向騰訊后臺舉報
在微信里找到小程序那一欄,點擊搜索“騰訊舉報受理中心”。
選擇“網絡詐騙”,按照指示填好相關信息,并提交上當受騙的證據,微信官方會依法依規幫你及時追回相關損失。
設置延時轉賬
為了防止被騙,我們可以將微信轉賬功能中的“實時到賬”設置成“延時到賬”,這樣萬一被騙了,錢不會立馬到騙子的賬戶里,還有機會補救一下。
騙子總是無處不在,
防騙也是無時不有,
我們能做的就是小心再小心!
快告訴身邊的朋友~
我還在南方小島上玩兒的時候,一個朋友給我發了條語音信息(早上發的,我晚上才聽,我讓你發語音)大概是說,能不能幫忙聯系一個會 HTML5 的團隊,領導要求做一個 HTML5 的活動頁面。
看來 HTML5 的浪潮又要讓我們的廣告客戶渾身濕透了。他們想要華麗的頁面,想要讓用戶覺得他們很酷。事實上,即使他們只做了一張很廉價的“活動邀請函”頁面,用戶也覺得好棒好厲害。真相是,大部分用戶并不知道其中的奧秘。
HTML5是針對超文本語言HTML的第五次修訂。具體HTML是什么?我們先籠統地認為它是一種用來創建網頁的手段就好。不過你不是科技從業者,也不是什么都要懂一點的極客。你會想:什么html、Input type=date、js線程、socket、標準擴展embed、css3……這些都是什么鬼我根本不想知道快扔走!
這一切并不在你學習的范圍內。你只關心這樣一個問題:它會為你的生活帶來怎樣的變化?
? 你手機里的原生APP會變少。
原生APP,就是你到應用商店里選一個應用、等待下載、確認權限、等待安裝,然后點擊打開的那種移動應用,它專門針對某一類移動操作系統生成,必須被完整安裝到手機里。而有一種“假”APP,它們打開后基本利用手機中的瀏覽器來運行,而且不需要下載后安裝,就能立即在手機界面中生成一個APP圖標——HTML5就是生產這種“假”APP的利器。比如你玩《神經貓》就不需要下載一個APP,而這個游戲正是用HTML5網頁實現的。
? 你那個當程序員的男朋友(如果你有)就可以早點下班回家了。
HTML5是唯一一個通吃PC、Mac、iPhone、iPad、Android、Windows Phone等主流平臺的跨平臺語言。因為這種跨平臺的便利,程序員們只需要為之開發一種類別的產品——說白了就是一個萬能的網頁。他再也不需要做一款只能在蘋果手機上運行的APP后,再做一款也可以在三星、小米上使用的APP。
? 你的手機里沒有Flash了。
如果需要一個能夠集中展示視頻、音頻等各種媒體形式的插件,那就是Flash。這個部署在億萬瀏覽器里的商業插件儼然成為事實上的網頁標準。但是,HTML5把這個標準打破了,這些媒體形式不再需要Flash這一插件就能分布在網頁當中。HTML5可以讓我們不借助第三方插件實現多媒體。
? 正因為你的系統需要運行的第三方插件變少,瀏覽器占用的系統資源相對也會變少,有可能你會發現自己的手機電量變得更持久了。
? 當你使用定位服務的時候,不用點“搜索”了,直接點“附近”。
這是因為HTML5更好地實現了基于地理位置的功能,在從前那些使用舊語言編輯的網頁上,LBS(基于位置的服務)沒有獲得很好的支持,所以你需要在網頁上依次選擇全國、北京、朝陽區、大望路……
? 網頁更美觀。
對網頁設計師來說,HTML5重新定義了很多設計標準,這使得他們在工作的時候遵循著更加科學的方法,再加上HTML5可以讓我們不借助第三方插件實現多媒體,網頁設計師得以發揮他們的創造力,你會看到更加酷炫的網頁界面。
視覺,這是最重要的。對用戶來說,沒有什么比直接的體驗更能說明某種技術為世界帶來的改變?,F在我用幾個騰訊新聞的手機頁面來舉例,和你在微信朋友圈看到的那些蹩腳的邀請函、抽獎頁面相比,這些頁面嘗試用一種更有意思、更流暢的方式來講述事件。
APEC期間推出的《服裝秀》,截取的三個界面。在這個應用中,新聞相關的人物將會變成試衣模特。例如你可以選擇奧巴馬當你的模特,然后給他換上各種服裝。
上圖《再見2元的風景》是針對北京地鐵票價調整制作的新聞專題頁。這個流傳甚廣的煽情專題,也是一個HTML5頁面,它提供了一種流暢的圖片瀏覽方式。
HTML5 同樣為網頁提供了更多交互的可能,比如你可以在同一個頁面中完成一個網頁調查,然后直接分享給你的朋友圈好友。
總之,HTML5 可以更有效地組織互聯網中的信息,并讓視頻、音頻等服務得到更好的支持;并在減輕開發者的負擔的同時,讓用戶在不同的平臺上有更一致的體驗。
沒有炫耀的意思,這些內容出于個人對HTML5的好奇,導致我多看了一些材料,并且咨詢了行業的專家。大致上,我能保證這些內容都是可信的,對普通人而言,這些已經足夠:甲方或者乙方們再也不會輕易騙走你的巨額預算。
“你知道那你說啊。”
烏云裝扮者包含了世界、黑色趣味和明亮內心
微信號及新浪微博@DACLODS
頁移動端H5開發中,我們時常遇到輸入手機號碼的場景,這里以手機號碼(數字)語音播放為切入點,供大家學習。
你往下看的是Javascript技術教程
實現思路:
語音對象,用于語音播放,可實現按url插入順序播放,實現未播放url刪除不讀。
input數字控制對象,用于控制輸入內容。
支持:
中英文數字語音播放,默認使用百度翻譯語音程序。
支持自定義數字語音路徑。
方便控制混合app開發時,語音路徑置換為app本地路徑,減少網絡請求,提高讀取速度。
原生和jQuery兩種方式實現。
代碼部分:
<!DOCTYPE>
<html>
<head>
<title> New Document </title>
<meta charset="utf-8">
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name=”viewport” content=”width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;” />
</head>
<script type="text/javascript" src="http://www.linuxidc.com/inc/jquery.js"></script>
<script src="http://api.html5media.info/1.1.6/html5media.min.js"></script>
<script src="http://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script>
<script type="text/javascript">
<!--
var SpeechVideo = function(){
this.urls = [];
this.canload = true;
this.setInterval = null;
this.audio = null;
};
SpeechVideo.prototype.__load = function(){
var me = this;
if(this.canload == false){ return; }
var url = this.urls.shift();
if(url == null && this.setInterval != null){ clearInterval(this.setInterval); this.setInterval = null; return; }else{ this.play(url); }
if(this.setInterval == null){
this.setInterval = setInterval(function(){
me.__load();
},10);
}
}
SpeechVideo.prototype.play = function(url){
this.canload = false;
if(this.audio == null){
if(typeof Audio != 'undefined'){ this.audio = new Audio(); }else{
//兼容IE9-
if(typeof $ !== 'undefined'){
var $audio = $('<audio src="'+ url +'" controls preload></audio>').hide();
$audio.appendTo(document.body);
this.audio = $audio[0];
}else{
var audio = document.createElement('audio');
audio.style.display="none";
document.body.appendChild(audio);
this.audio = audio;
}
}
}
if(typeof Audio != 'undefined'){
var audio = this.audio,me = this;
audio.src = url;
if(window.attachEvent){
audio.onloadstart = function(){ me.canload = false;};
audio.onended = function() { me.canload = true; };
audio.onerror = function() { me.canload = true; };
}else{
audio.addEventListener('loadstart',function(){ me.canload = false;});
audio.addEventListener('ended',function() { audio.currentTime = 0; me.canload = true; });
audio.addEventListener('error',function() { audio.currentTime = 0; me.canload = true; });
}
audio.play();
}else{
//兼容IE9-【暫時沒找到合適的方法,以網易云音樂為例的話,估計有眉目】
}
}
SpeechVideo.prototype.next = function(url){
this.urls.push(url);
this.__load();
};
SpeechVideo.prototype.remove = function(ele){
if(typeof ele == 'undefined'){ this.urls.pop(); }else
if(typeof ele == 'number'){
if(ele > this.urls.length - 1){ ele = this.urls.length - 1; }
this.urls.splice(ele,1);
}else{
var index = -1;
for (var i = 0; i < this.urls.length; i++) {
if (this.urls[i] == ele) return index = i;
}
if(index > -1){ this.urls.splice(index,1); }
}
}
var NumberSpeech = function(cfg){
var dfCfg = {
input : null, reg : null ,
srcsMap : { //英文發音
'1' : 'http://fanyi.baidu.com/gettts?lan=en&text=One&spd=3&source=web',
'2' : 'http://fanyi.baidu.com/gettts?lan=en&text=Two&spd=3&source=web',
'3' : 'http://fanyi.baidu.com/gettts?lan=en&text=Three&spd=3&source=web',
'4' : 'http://fanyi.baidu.com/gettts?lan=en&text=Four&spd=3&source=web',
'5' : 'http://fanyi.baidu.com/gettts?lan=en&text=Five&spd=3&source=web',
'6' : 'http://fanyi.baidu.com/gettts?lan=en&text=Six&spd=3&source=web',
'7' : 'http://fanyi.baidu.com/gettts?lan=en&text=Seven&spd=3&source=web',
'8' : 'http://fanyi.baidu.com/gettts?lan=en&text=Eight&spd=3&source=web',
'9' : 'http://fanyi.baidu.com/gettts?lan=en&text=Nine&spd=3&source=web',
'0' : 'http://fanyi.baidu.com/gettts?lan=en&text=Zero&spd=3&source=web'
}//輸入容器【支持ID 和 jquery對象兩種形式】 , 輸入規則 , 發音資源
};
var type = navigator.appName,lang = (type == "Netscape" ? navigator.language : navigator.userLanguage).substr(0, 2);
if (lang == "zh"){
dfCfg.srcsMap = { //中文發音
'1' : 'http://fanyi.baidu.com/gettts?lan=zh&text=%E4%B8%80&spd=5&source=web',
'2' : 'http://fanyi.baidu.com/gettts?lan=zh&text=%E4%BA%8C&spd=5&source=web',
'3' : 'http://fanyi.baidu.com/gettts?lan=zh&text=%E4%B8%89&spd=5&source=web',
'4' : 'http://fanyi.baidu.com/gettts?lan=zh&text=%E5%9B%9B&spd=5&source=web',
'5' : 'http://fanyi.baidu.com/gettts?lan=zh&text=%E4%BA%94&spd=5&source=web',
'6' : 'http://fanyi.baidu.com/gettts?lan=zh&text=%E5%85%AD&spd=5&source=web',
'7' : 'http://fanyi.baidu.com/gettts?lan=zh&text=%E4%B8%83&spd=5&source=web',
'8' : 'http://fanyi.baidu.com/gettts?lan=zh&text=%E5%85%AB&spd=5&source=web',
'9' : 'http://fanyi.baidu.com/gettts?lan=zh&text=%E4%B9%9D&spd=5&source=web',
'0' : 'http://fanyi.baidu.com/gettts?lan=zh&text=%E9%9B%B6&spd=5&source=web',
};
}
if(typeof $ !== 'undefined'){
dfCfg = $.extend(true, dfCfg, cfg || {});
}else{
//淺層次copy
var srcs = cfg.srcsMap || {};
delete cfg.srcsMap;
for(var key in (cfg || {})){ dfCfg[key] = cfg[key]; }
for(var key in srcs){
dfCfg.srcsMap[key] = srcs[key];
}
}
if(dfCfg.input == null){ throw '請指定當前容器'; }
var $input = dfCfg.input,speechVideo = new SpeechVideo(),oldLength = 0,isIE = typeof window.attachEvent !== 'undefined';
if(typeof $ !== 'undefined'){ //TODO !== 為測試原生方式暫設置 ==
if(typeof dfCfg.input == 'string'){ $input = $('#'+dfCfg.input);}
$input.bind('keydown',function(event){
if(event.keyCode == 8 && isIE){
//var curValue = $(this).val();
//var len = oldLength - curValue.length;
//for(var i=0;i<len;i++){
speechVideo.remove(); oldLength--; if(oldLength < 0){ oldLength = 0;}
//}
}
});
$input.bind("input propertychange change",function(){
var curValue = $(this).val();
if(oldLength > curValue.length){ speechVideo.remove(); }else{
var last = curValue.substring(curValue.length - 1);
if(dfCfg.srcsMap[last]){
speechVideo.next(dfCfg.srcsMap[last]);
}
}
oldLength = curValue.length;
});
}else{
var inputObj = document.getElementById(dfCfg.input),objEvent;
oldLength = inputObj.value.length;
inputObj.onkeypress = function(event){
var keyCode = event.keyCode;
event.returnValue = (keyCode >= 48 && keyCode <= 57);
};
inputObj.onkeydown = function(event){
if(event.keyCode == 8 && isIE){ speechVideo.remove(); oldLength--; if(oldLength < 0){ oldLength = 0;}}
}
objEvent = function(event){
var curValue = '';
if (typeof event.srcElement != 'undefined' && event.propertyName == "value") {
curValue = event.srcElement.value;
}else if(typeof event.target != 'undefined'){ curValue = event.target.value; }
if(oldLength > curValue.length){ speechVideo.remove(); }else{
var last = curValue.substring(curValue.length - 1);
if(dfCfg.srcsMap[last]){
speechVideo.next(dfCfg.srcsMap[last]);
}
}
oldLength = curValue.length;
}
//input.onpropertychange = input.oninput = input.onchange
if(isIE){ inputObj.onpropertychange = objEvent; }else{ inputObj.oninput = objEvent; }
}
}
window.onload = function(){
new NumberSpeech({
input : 'numberspeech'
});
}
//-->
</script>
<body>
<input type="text" id="numberspeech"/>
</body>
</html>
未盡事項:
IE9- 的支持,使用audio.js 不過這里不深究,畢竟應用場景在APP端,跟微軟IE關系沒多大。這里demo已引用支持,可自行實現。若應用于PC端,多選移除時,內部oldValue計算方式不合理,這暫不在考慮范圍內,可自行優化,難度不大~
思路擴展:
利用百度語音(以“http://fanyi.baidu.com/gettts?lan=zh&text=%E4%BA%94&spd=5&source=web”為例,text對應的值,即為語音內容),實現語音播放時很輕松的。
附注: 該文原發自我個人技術博客,今后會逐步遷移到,以期形成系列教程,還原訂閱關注,技術無止境,但愿一路有你。
你沒看錯,老皇叔是個程序猿
*請認真填寫需求信息,我們會在24小時內與您取得聯系。