国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python實現網頁錄音效果

瀏覽:4日期:2022-07-07 09:42:34

本文實例為大家分享了python實現網頁錄音效果的具體代碼,供大家參考,具體內容如下

服務器:tornado

語言:python,JS,html

效果:(將錄好的音放在指定位置)

python實現網頁錄音效果

實現邏輯:

python實現網頁錄音效果

部分實現代碼:

web:

<button type='submit' class='btn btn-primary mb-2 record_start'>開始錄音</button><button type='submit' class='btn btn-primary mb-2 record_stop'>結束錄音</button>

注意,class中最后一項 record_start或record_stop,后面JS文件中的方法調用和這個對應

JS:(其中用到Ajax,需要用到jquery-3.4.1.min.js)

$(’.record_start’).on(’click’,function(e){ //css中有CHAT的,點擊時開始相應,其中’ . ’代表是在css中,’ # ’代表是在id中 e.preventDefault(); //防止跳轉 args = {’query’:’start’} $.ajax({ async: false, url:’/record’, type:’POST’, data:$.param(args), success: function(res){ var data =JSON.parse(res) if(data.code == 0){ console.log(’發送成功’); } else{ console.error(’發送失敗’); } }, error:function(){ console.error(’發送失敗’); } }) //$代表jquery,可發起ajax請求,相當于requests, }) $(’.record_stop’).on(’click’,function(e){ //css中有CHAT的,點擊時開始相應,其中’ . ’代表是在css中,’ # ’代表是在id中 e.preventDefault(); //防止跳轉 args = {’query’:’stop’} $.ajax({ async: false, url:’/record’, type:’POST’, data:$.param(args), success: function(res){ var data =JSON.parse(res) if(data.code == 0){ console.log(’發送成功’); } else{ console.error(’發送失敗’); } }, error:function(){ console.error(’發送失敗’); } }) //$代表jquery,可發起ajax請求,相當于requests, })

Python server:

static = Record_wav.Final_record() class RecordHandler(BaseHandler): global static def post(self): query = self.get_argument(’query’,’’) static.record_wav(query) res = {’code’:0,’message’:’sucess’} self.write(json.dumps(res)) self.finish() def make_app(): return tornado.web.Application([ #其他沒用的我刪了 (r'/record',RecordHandler) ],**settings) ’’’ **settings:將字典中的元素解析出來,寫配置的 ’’’

這里值得注意的是:定義一個全局變量,因為第二次選擇關閉錄音的時候也得調用這個類,倘若不加全局,對于static,計算機會重新開辟新空間而不是用之前的,這就導致你的錄音沒法停止,因為它會停止一個空的錄音。

python實現網頁錄音效果

Python Record_wav.py

rec =Recorder() class Final_record(): def record_wav(self,static): global rec if static == ’start’: rec.start() return ’success!’ elif static==’stop’: rec.stop() rec.save(fname) asr=ASR.XunFeiASR() query=’’ query=asr.transcribe(fname) return query

同上,這兒的對象也得是全局變量。(這倆全局變量想了很久才想出來的,當然,貿然設全局變量很不好,但我只能想到這么多了)

其他的代碼,例如錄音方面的網上很好找,暫且不再次贅述了。

錄音代碼可以參考這位博主的文章:python實現錄音功能(可隨時停止錄音)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 枣强县| 张家口市| 天气| 常宁市| 保靖县| 绵阳市| 惠来县| 三河市| 黄冈市| 固镇县| 聂拉木县| 凤山市| 连江县| 芦山县| 施秉县| 中卫市| 方城县| 吉水县| 墨玉县| 鹤壁市| 苏尼特右旗| 方城县| 海林市| 华安县| 巴里| 湖南省| 阳原县| 永嘉县| 偏关县| 孟州市| 安溪县| 鄂州市| 龙口市| 酒泉市| 永吉县| 台江县| 成都市| 昌都县| 临江市| 湘阴县| 弋阳县|