尊敬的会员   
网站首页 >> 综合资讯 >> 文章内容

实时翻译微信小程序开发如何基于场景定制

[日期:2023-11-08]   来源:  作者:   阅读: 0[字体: ]


翻译小程序的设计分为两部分:数据处理端与微信小程序端。数据处理端在服务器上实现,负责处理微信小程序客户端的请求与接收数据,同时也负责处理翻译API的数据。客户端负责展现数据,提供用户界面。编程语言选用Java,开发工具为IDEA和微信web开发者工具。本套小程序系统由数据处理模块和微信小程序发布这两大模块构成。

一、数据处理模块

数据处理模块主要是处理微信前端发送过来的数据和返回语音识别结果和翻译结果。小程序发布模块主要为用户提供一个输入需翻译内容的界面并且和数据处理模块实时通信。用户获得界面是从微信服务器,而翻译结果是经过数据处理模块返回获得。数据的处理主要分为3个方面,前端MP3文件的获取以及转码,请求语音识别和翻译数据,数据的处理和返回。

1、前端MP3文件的获取及转码:

在服务器接收到小程序的前端发送过来的MP3文件后,使用UUID进行文件的唯一重命名。当MP3文件转PCM文件后,文件的体积会减少,这样可以减少数据发送的时间。在考虑服务器带宽的情况下,本项目使用PCM文件格式进行上传,其中MP3文件转PCM文件使用ffmpeg进行转码。

2、语音识别和翻译数据的请求:

将上一个步骤中转码成功的数据进行请求发送,同时对请求结果进行处理,当发现是用户使用错误时,没有识别结果,此时将信息返回,进行适当的提示,并重新拉取验证,如果是因为QPS达到上限,则在2~3秒内进行随机等待,重新请求数据。

3、数据的处理和返回:

根据微信小程序的前端需求,返回错误信息进行提示或者当数据正确的时候,返回语音识别和翻译后的信息进行前端显示。

二、微信小程序发布

1、微信小程序界面设计:

翻译小程序的界面设计主要是实现翻译语言选择,文本输入查询,语音输入查询,翻译结果展示的功能。本项目页面设计使用官方提供的MINA框架。MINA框架提供了自己的视图层描述语言WXML和WXSS,以及基于JavaScript的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者可以方便地聚焦于数据与逻辑上。它也提供了一套基础的组件,这些组件自带微信风格的样式以及特殊的逻辑,开发者可以通过组合基础组件,创建出强大的微信小程序。

2、动态数据获取:

场景定制实时翻译小程序和后台的数据交互方式主要有2种:Https Request请求 和uploadFile上传文件。uploadFile主要用于微信小程序端向数据处理模块传输用户语音输入产生的mp3文件,而Https Request请求用于微信小程序客户端将用户输入的文本和选择的翻译语种等传输给数据处理模块的服务器,主要使用的数据格式为JSON。


相关评论
赞助商链接
赞助商链接