python实现网页录音效果


Posted in Python onOctober 26, 2020

本文实例为大家分享了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 相关文章推荐
python在windows下实现ping操作并接收返回信息的方法
Mar 20 Python
Python的Django框架可适配的各种数据库介绍
Jul 15 Python
python获取指定时间差的时间实例详解
Apr 11 Python
分析Python中解析构建数据知识
Jan 20 Python
python实现word 2007文档转换为pdf文件
Mar 15 Python
python实时获取外部程序输出结果的方法
Jan 12 Python
Python Pandas数据中对时间的操作
Jul 30 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
Sep 20 Python
浅谈Pycharm最有必要改的几个默认设置项
Feb 14 Python
Python字符串split及rsplit方法原理详解
Jun 29 Python
Matplotlib 绘制饼图解决文字重叠的方法
Jul 24 Python
python正则表达式re.search()的基本使用教程
May 21 Python
python实现录音功能(可随时停止录音)
Oct 26 #Python
Python用dilb提取照片上人脸的示例
Oct 26 #Python
python用tkinter实现一个gui的翻译工具
Oct 26 #Python
Docker如何部署Python项目的实现详解
Oct 26 #Python
python Gabor滤波器讲解
Oct 26 #Python
详解基于python的图像Gabor变换及特征提取
Oct 26 #Python
多个版本的python共存时使用pip的正确做法
Oct 26 #Python
You might like
收音机的保养
2021/03/01 无线电
php excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
PHP正则表达式笔记与实例详解
2019/05/09 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
JS实现div居中示例
2014/04/17 Javascript
JS获取单击按钮单元格所在行的信息
2014/06/17 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
JavaScript File API文件上传预览
2016/02/02 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
2016/08/29 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
3种vue组件的书写形式
2017/11/29 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
Linux CentOS7下安装python3 的方法
2018/01/21 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
NumPy中的维度Axis详解
2019/11/26 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
中国宠物用品商城:E宠商城
2016/08/27 全球购物
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
中层干部竞争上岗演讲稿
2014/01/13 职场文书
平安校园建设方案
2014/05/02 职场文书
安全生产月演讲稿
2014/05/09 职场文书
火锅店的活动方案
2014/08/15 职场文书
企业法人代表证明书
2014/09/27 职场文书
教师节简报
2015/07/20 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
幼儿教师远程研修感悟
2015/11/18 职场文书
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
Go语言基础函数基本用法及示例详解
2021/11/17 Golang
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL
nginx 添加http_stub_status_module模块
2022/05/25 Servers