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的Django框架中的templates设置
May 11 Python
Python 私有函数的实例详解
Sep 11 Python
利用python将图片转换成excel文档格式
Dec 30 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
Jun 20 Python
python 从csv读数据到mysql的实例
Jun 21 Python
python实现QQ邮箱/163邮箱的邮件发送
Jan 22 Python
pyqt5 实现工具栏文字图片同时显示
Jun 13 Python
python 读写excel文件操作示例【附源码下载】
Jun 19 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
Jun 08 Python
宝塔面板成功部署Django项目流程(图文)
Jun 22 Python
详解python变量与数据类型
Aug 25 Python
Python+腾讯云服务器实现每日自动健康打卡
Dec 06 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
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
zend framework中使用memcache的方法
2016/03/04 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
PHP判断函数是否被定义的方法
2019/06/21 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
2009/10/26 Javascript
谷歌浏览器调试JavaScript小技巧
2014/12/29 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
Vue 父子组件、组件间通信
2017/03/08 Javascript
基于vue-cli创建的项目的目录结构及说明介绍
2017/11/23 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
vue将data恢复到初始状态 &amp;&amp; 重新渲染组件实例
2020/09/04 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
2013/11/28 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
详解Python做一个名片管理系统
2019/03/14 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
Python grpc超时机制代码示例
2020/09/14 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
What is view? why do we have view?
2012/06/22 面试题
一年级班主任寄语
2014/01/19 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python
MYSQL 表的全面总结
2021/11/11 MySQL
Vue的生命周期一起来看看
2022/02/24 Vue.js
Golang解析JSON对象
2022/04/30 Golang