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 base64 decode incorrect padding错误解决方法
Jan 08 Python
Python下的常用下载安装工具pip的安装方法
Nov 13 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
Nov 14 Python
用pandas按列合并两个文件的实例
Apr 12 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
Jun 14 Python
python中的json总结
Oct 11 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
Oct 14 Python
pandas dataframe添加表格框线输出的方法
Feb 08 Python
python 实现两个npy档案合并
Jul 01 Python
django 将自带的数据库sqlite3改成mysql实例
Jul 09 Python
python多线程和多进程关系详解
Dec 14 Python
Python预测分词的实现
Jun 18 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绘制在图片上的正余弦曲线
2013/06/08 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
yii2的restful api路由实例详解
2019/05/14 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
用JavaScript实现UrlEncode和UrlDecode的脚本代码
2008/07/23 Javascript
JS中图片缓冲loading技术的实例代码
2013/08/29 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
2014/12/20 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
angular.js+node.js实现下载图片处理详解
2017/03/31 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
详解Vue单元测试Karma+Mocha学习笔记
2018/01/31 Javascript
vue的全局变量和全局拦截请求器的示例代码
2018/09/13 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
Python赋值语句后逗号的作用分析
2015/06/08 Python
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
Python进阶:生成器 懒人版本的迭代器详解
2019/06/29 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
python实现经典排序算法的示例代码
2021/02/07 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
联想英国官网:Lenovo英国
2019/07/17 全球购物
教师产假请假条范文
2014/04/10 职场文书
小学生操行评语
2014/04/22 职场文书
2014年医生工作总结
2014/11/21 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
2015年新教师个人工作总结
2015/10/14 职场文书
python中print格式化输出的问题
2021/04/16 Python
Python实现生活常识解答机器人
2021/06/28 Python
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python