基于vue如何做一个猫语翻译的小程序
Admin 2022-07-06 群英技术资讯 880 次浏览
这篇文章给大家介绍了“基于vue如何做一个猫语翻译的小程序”的相关知识,讲解详细,步骤过程清晰,有一定的借鉴学习价值,因此分享给大家做个参考,感兴趣的朋友接下来一起跟随小编看看吧。微信小程序是不支持直接使用 vue 进行开发的,但目前行业中已经有不少解决方案去支持用各种开发框架开发跨端应用了。
Taro 3.0版本开始支持使用 Vue3 进行开发,那就用 Taro 来实现我们的微信小程序吧。
Taro 的详细使用可以参考官方文档,先全局安装 @tarojs/cli
npm install -g @tarojs/cli
安装成功后用 taro 命令来创建模板项目:
taro init catApp

这里选择了 vue3-nutUI 框架,这个框架功能没有 taro-ui 多,但 taro-ui 只支持 react,无奈只能用了。
毕竟没有视觉出图,一切只能靠自己。马上打开 PPT,简简单单画个草图。

主要有两块功能组成:
按需引入 vue3-nutUI 框架,刚才在初始化项目时已经是按需引入了,在 app.js 中,按需引入项目所需要用到的组件即可
import { createApp } from 'vue'
import { Button,Toast,Tabbar,TabbarItem,Icon,Avatar,Input } from '@nutui/nutui-taro';
import '@nutui/nutui-taro/dist/style.css';
const App = createApp()
App.use(Button).use(Toast).use(Tabbar).use(TabbarItem).use(Icon).use(Avatar).use(Input)
export default App
当输入想对猫主人的话,转成喵语后,想要播放,就得使用 Taro 提供的播放音频接口。播放音频现在使用官方更加推荐的 Taro.createInnerAudioContext 接口了,原先的 Taro.stopVoice 和 Taro.playVoice 不再维护了。
const innerAudioContext = Taro.createInnerAudioContext();
Taro.setInnerAudioOption({
obeyMuteSwitch: false,
});
innerAudioContext.src = 'xxx.mp3';
innerAudioContext.play();
innerAudioContext.onPlay(()=>{
console.log('开始播放')
})
innerAudioContext.onEnded(()=>{
console.log('播放结束')
})
obeyMuteSwitch 配置是(仅在 iOS 生效)是否遵循静音开关,设置为 false 之后,即使是在静音模式下,也能播放声音,默认是true的,这里没注意,疑惑了好久,还以为我自己播放音频有问题,原来是给静音了。
要给猫主人录音就需要用到 Taro.getRecorderManager 录音接口
const recorderManager = Taro.getRecorderManager();
recorderManager.onStart(() => {
console.log("recorder start");
});
recorderManager.onStop((res) => {
console.log("recorder stop", res);
const { tempFilePath, duration } = res;
// tempFilePath 是录音文件的临时路径
// duration 是录音时长
// 这里需要播放时,设置录音文件地址,则可以播放录音
innerAudioContext.src = tempFilePath;
innerAudioContext.play();
});
录音可能大家都习惯了长按时开始录音,松手时完成录音。vue3-nutUI 框架中并没有给按钮提供长按事件,所以需要用小程序原生提供的 longpress 事件,这个事件是手指触摸后,超过350ms时就会触发该事件,并且不会触发到 tap 事件。想要松手结束录音,需要结合 touchend 事件,才能完成长按录音,松手结束的需求。
<nut-button block type="info" icon="microphone" @longpress="handleLongpress" @touchend="handleTouchend"> 录音 </nut-button>
执行 npm run dev:weapp 项目,会一直监听文件修改并实时编译成小程序,然后打开微信开发者工具,导入项目,选择打开 catApp 根目录即可,就可以进行预览了。
Taro 的优势在写一次代码适配多端,如果只是单纯的用来开发一个微信小程序,那还是绕得远了,直接原生开发不香吗。不过能够使用 Vue3 来进行开发,这点还是比较香的,但是 Vue3 内部实现使用了 Proxy ,在低版本的系统(iOS 9、Android 6)下还是无法直接使用,而目前也不可能直接抛弃这些用户,所以还是不是很实际。
到了这里可能有的人就要问了,怎么实现喵语转换呢??港真,目前全球也没研究出这种能跟猫进行交流的能力吧,这里只是用的一些本地资源文件,写死的数据,大家玩玩娱乐一下就好别太当真。等到行业中有了这种能力,提供接口,再接入就真正实现了功能。就像 旷视 一直在往人工智能、深度学习的领域深耕,有没有可能在训练各种喵叫声以及结合各种喵叫场景,能研发出这种简单交流的能力,也是有可能的吧。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
一、express4.x版本之前全局安装express命令是npminstallexpress-gexpress4.x版本之后全局安装express命令是npminstall-gexpress-generator1.创建Express 工程 express-emyproject2.npminstall-gsupervisor ,修改app.j
这篇文章主要为大家详细介绍了vue+elementui实现下拉表格多选和搜索功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
vue3出来一段时间了,element也更新了版本去兼容vue3,下面这篇文章主要给大家介绍了关于vue3集成Element-plus实现按需自动引入组件的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
这篇文章主要为大家详细介绍了vue Element-ui表格实现树形结构表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
vue是前端轻量级MVVM框架,入门门槛相对较低,今天用Vue做一个购物车实例,所以下面这篇文章主要给大家介绍了关于vue实现购物车全部功能的简单方法,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008