python实现网页录音效果
作者:WYH_1998 发布时间:2022-03-19 08:07:15
标签:python,网页录音
本文实例为大家分享了python实现网页录音效果的具体代码,供大家参考,具体内容如下
服务器:tornado
语言:python,JS,html
效果:(将录好的音放在指定位置)
实现逻辑:
部分实现代码:
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 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实现录音功能(可随时停止录音)
来源:https://blog.csdn.net/qq_37198234/article/details/109267412
0
投稿
猜你喜欢
- 简介:with是从Python2.5引入的一个新的语法,它是一种上下文管理协议,目的在于从流程图中把 try,except 和finally
- TensorFlow提供了TFRecords的格式来统一存储数据,理论上,TFRecords可以存储任何形式的数据。TFRecords文件中
- 一、概述在ubuntu环境下进行嵌入式开发,我们在进行不同的项目开发时,可能会遇到python环境不统一的情况。这时,我们可以通过updat
- 本文主要介绍如何用Python设计一个经典小游戏:猜大小。在这个游戏中,将用到前面我介绍过的所有内容:变量的使用、参数传递、函数设计、条件控
- 安装显示目录功能:pip install jupyter_contrib_nbextensions配置:安装完之后需要配置 nbextens
- 今天做站时碰到个小问题:ASP正则获取文章内容图片地址,现在将此方法的思路拿出来分享下:Function RegExp_Execu
- 前言昨天因为小程序功能要获取小程序程序码,看了微信文档爬了好多坑。(留一下记录以防后面被坑)操作因为我获取到了微信那里的图片的图片流一直不知
- 文章背景:某天,我的一个同事给我看了CSDN上面的一篇关于编程语言排行榜的文章,里面我看到VB还是排名很不错的,我就说,asp(vbscri
- 数据类型是所有开发语言的基础,JavaScript虽然是一个弱类型的脚本语言,但是在数据类型上也有很多讲究的,看了淘宝UED玉伯的一篇文章,
- Sql Server 中一个非常强大的日期格式化函数: 获得当前系统时间,GETDATE(): 2008年01月08日 星期二 14:59
- 淘宝招聘的一个css题目:css样式控制div水平垂直居中方法;<!DOCTYPE html PUBLIC "-//W3C/
- 1.首先需要安装pandas, 安装的时候可能由依赖的包需要安装,根据运行时候的提示,缺少哪个库,就pip 安装哪个库。2.示例代码impo
- 代码如下import osimport cv2for i in range(1,201): if i==169 or i==18
- 如下所示:# coding=utf-8# 用来处理数字,大于上限的数字置零f = open("/home/chuwei/桌面/tr
- 在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡量应用系统成败的标准。而采用索引来加快数据处理速度也成为广大数据库用户所
- 今天发现百度图片搜索结果的2级页面改版了,在浏览图片的时候很好用:如图:在浏览图片的时候,右侧的缩略图是这样交互的:因此,在整个浏览图片的过
- 引言“深入认识Python内建类型”这部分的内容会从源码角度为大家介绍Python中各种常用的内建类
- 这篇文章我们学习 Python 变量与数据类型变量变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念,变量可以通过变量名访问。在
- 初级画心学Python,感觉你们的都好复杂,那我来个简单的,我是直接把心形看作是一个正方形+两个半圆:于是这就很简单了,十行代码解决:imp
- 今天在下脚本的时候遇到一个问题,比如有这样的一个字符串 t = "book123456",想把尾部的数字全部去掉,只留下