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的IDEL增加清屏功能实例
Jun 19 Python
python实现连续图文识别
Dec 18 Python
对pyqt5多线程正确的开启姿势详解
Jun 14 Python
Django 对象关系映射(ORM)源码详解
Aug 06 Python
浅谈Python 敏感词过滤的实现
Aug 15 Python
使用python实现回文数的四种方法小结
Nov 24 Python
python 实现一个反向单位矩阵示例
Nov 29 Python
关于Python中定制类的比较运算实例
Dec 19 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
Python日志器使用方法及原理解析
Sep 27 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
Nov 06 Python
python使用shell脚本创建kafka连接器
Apr 29 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
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
PHP实现HTTP断点续传的方法
2015/06/17 PHP
Yii中表单用法实例详解
2016/01/05 PHP
php HTML无刷新提交表单
2016/04/05 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
WAF的正确bypass
2017/01/05 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
JavaScript中使用Substring删除字符串最后一个字符
2013/11/03 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
javascript每日必学之封装
2016/02/23 Javascript
javascript函数命名的三种方式及区别介绍
2016/03/22 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
2017/03/09 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
vue通过数据过滤实现表格合并
2020/11/30 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python中global与nonlocal比较
2014/11/21 Python
Python3简单爬虫抓取网页图片代码实例
2019/08/26 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
python3发送request请求及查看返回结果实例
2020/04/30 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
2021/02/24 Python
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
Android interview questions
2016/12/25 面试题
法人委托书范本
2014/09/15 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
伏羲庙导游词
2015/02/09 职场文书