96SEO 2026-02-19 10:52 14
api#xff0c;通过它来调用手机的摄像头、录音机#xff0c;…选择

app.config.from_object(__name__)
rD:\A_data_trans\test改成你的位置app.route(/vqa,
os.path.join(app.config[UPLOAD_FOLDER],
img_file.filename)img_file.save(image_path)log(fsave
os.path.join(app.config[UPLOAD_FOLDER],
img_file.filename)img_file.save(image_path)shutil.copy(image_path,
os.path.join(os.path.dirname(__file__),
request.form[question]except:question
question})app.route(/upload/speech,
request.files[speech]try:save_path
os.path.join(app.config[UPLOAD_FOLDER],
speech_file.filename)speech_file_path
os.path.join(app.config[UPLOAD_FOLDER],
save_path)speech_file.save(speech_file_path)#
微信小程序端的任务是调用手机相机把相机画面展示给用户加一个按钮点击按钮拍照另外一个按钮点击可以把拍到的照片上传。
bind:taptakePhoto拍摄图片/button!--
bind:touchendstopRecord长按提问/button/view!--
bind:tappredCaption描述图片/button!--
bind:tappredVQA回答问题/button/view/view
部分。
因为微信小程序给封装得很好所以基本没有什么坑按照这个写就行基本不出错。
要注意各种
wx.createCameraContext();ctx.takePhoto({quality:
地址把这个地址传给服务器就可以把该文件传给服务器});}});},//
wx.getRecorderManager();this.setData({
的东西这部分会另外写文详说这里只放出来一部分。
所以这里没有把录音文件上传而是直接把语音识别的结果上传文件夹recorderManager.onStop((res)
wx.getStorageSync(baidu_yuyin_access_token);//
wx.getFileSystemManager();fs.readFile({filePath:
wx.arrayBufferToBase64(res.data);wx.request({url:
https://vop.baidu.com/server_api,data:
{wx.hideLoading();console.log(拿到百度语音api返回的结果)console.log(res.data);var
res.data.result;console.log(baiduResults[0]);if
这里才是控制录音的参数微信小程序端可以设置这些录音参数因为后面要调用百度语音识别
的要求保持一致recorderManager.start({format:
20ssampleRate:16000,encodeBitRate:
this.data.photoData);wx.uploadFile({filePath:
this.data.serverUrl/vqa,formData:
this.data.textQuestion},success:
关于视频拍照如果我把展示视频流的那个控件隐藏掉那拍出来的照片就是黑的。
在微信小程序里就不会有这个问题。
原因是它拍照的原理是通过
控件上截图如果你隐藏掉了自然没有图可截就是黑的。
我找了很多资料貌似没有别的解决方法所以我只能把视频放很小放角落里……关于录音js
很难变只能你先录好然后通过代码改采样率。
我试了直接传音频到服务器然后
下运行会报错还得下一个软件怎么怎么设置……就是很麻烦。
所以暂时没有找到优雅的解决方案。
charsetUTF-8titleTitle/titlelink
classanswer-text答案等待中.../div/divdiv
idrecorderButton录音/buttonbutton
idcaptionButton描述图片/buttonbutton
xxxxxxxx-xxxx-${now}-yxxx;return
src../static/js/user_camera.js/scriptscript
src../static/js/user_recorder.js/scriptscript//
按钮document.getElementById(vqaButton).onclick
拿到文件。
第二个参数是文件的二进制数据blob,别搞错了我会在
对象。
第三个参数是文件名这个看你自己的需求。
speechFormData.append(speech,
总之很难……如果你部署到服务器的话应该是要改成服务器的地址的fetch(http://localhost:8099/upload/speech,
FormData();imgFormData.append(img,
filename.jpg);fetch(http://localhost:8099/upload,
{console.log(上传完成);}}).***n(data
console.error(error));}}};/script
document.getElementById(videoElement);snapButton
document.getElementById(snapButton);photoElement
document.getElementById(photo);constructor()
获取摄像头流媒体this.getUserMedia(constraints,
stream;this.videoElement.srcObject
{alert(您已经禁止使用摄像头);}console.log(navigator.getUserMedia
navigator.mediaDevices.getUserMedia)
{//最新的标准APInavigator.mediaDevices.getUserMedia(constrains).***n(success).catch(error);}
{//webkit核心浏览器navigator.webkitGetUserMedia(constraints,
{//旧版APInavigator.getUserMedia(constraints,
document.createElement(canvas);const
canvas.getContext(2d);canvas.width
this.videoElement.videoWidth;canvas.height
this.videoElement.videoHeight;context.drawImage(this.videoElement,
canvas.height);this.photoElement.src
canvas.toDataURL(image/png);canvas.toBlob(function
this.photoElement.style.display
document.getElementById(recorderButton);if
(navigator.mediaDevices.getUserMedia)
};navigator.mediaDevices.getUserMedia(constraints).***n(stream
MediaRecorder(stream);recordBtn.onclick
{mediaRecorder.stop();recordBtn.textContent
{mediaRecorder.start();recordBtn.textContent
录音中...;}};mediaRecorder.ondataavailable
{chunks.push(e.data);};mediaRecorder.onstop
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback