2620|2

655

帖子

29

TA的资源

版主

楼主
 

SensorTile物联网开发套件(10)——DIY无线语音自拍器 [复制链接]

 
本帖最后由 lb8820265 于 2017-4-22 12:47 编辑

先上视频:
      视频演示的是使用SensorTile来实现语音控制手机进行自拍。在语音识别的模式下,可以通过“拍照”口令打开自拍;通过“茄子”口令开启拍照并保存;通过“关闭”口令关闭相机。同时大幅提升了语音识别的速度。
       之前DIY了无线语音控制,采用语音识别方式来控制灯泡灯的开关,总感觉实用价值不大,这回来个实用的——自拍器。你是否也曾遇到这样的情况:三五好友想要来个合影,用手或自拍杆太短,定时拍摄又很难掌握时机,找人帮忙又太麻烦。那么现在使用无线的自拍器就完美解决了这个问题,当然市面上的蓝牙自拍器也能实现这样的功能,但我们用复杂的方法实现简单的功能,就是这么任性。
       整个工程的整体思路是通过讯飞在线语音识别功能识别SensorTile传输过来的音频数据,然后根据返回来的信息做出相应的回应,有了前面的铺垫,这次最大的难点就是相机功能的实现了,这里有两种思路,一种是调用系统自带的相机程序,另一种是完全自己写一个相机功能。首先分析下调用系统自带的方法,毫无疑问调用系统自带的相机是最简单的方式,同时拍照的效果也是最好的,但是当我调用了系统函数打开了系统的相机后,却无法通过指令控制拍照,系统的相机功能本身属于一个独立的应用了,除非它有全局可用的拍照接口,否则无法在一个应用中直接控制另一个应用,很遗憾我没有找到相关函数,唯一有点靠谱的就是通过模拟按键中的拍照键来实现拍照,可是没有成功。市面上的蓝牙自拍器的原理是将蓝牙设备识别成了一个音频设备,然后通过耳机的音量键来控制拍照,可是我们的SensorTile并不是一个音频设备,如果有哪位网友了解过蓝牙自拍杆,请不吝赐教。
         调用系统相机的方案受打击后,便开始了第二种方案,自己设计一个相机应用,这里主要还是参考官网的教程,主要参考CameraCamera API的介绍,我通过提炼教程中的方法写出了一篇日志“Android官方相机教程简单的Demo”可以参考,同时也参考官网给出的例程,不过官网的例程是使用的新类“camera2”,推陈出新嘛。
         主要的步骤如下:
1.     新建一个相机功能文件CameraActivity.java,在manifest中将该类设置为横屏。
2.     使用Camera.open(1) 函数获取相机的实例,其中参数1代表前置摄像头。
3.     使用SurfaceHolder.Callback方法建立一个可以预览图像的类CameraPreview。
4.     在主布局文件中放置一个FrameLayout用来存放预览图像。
5.     在onCreat中用addView来指定显示区域。
6.     使用getOutputMediaFile来指定保存路径与保存名字。
7.     使用mCamera.takePicture函数来拍照。
       需要注意:在拍完照后会停止预览,需要调用mCamera.startPreview来重新开启预览。
此外,本次在语音识别速度上有提高,之前的语音识别到最后的控制之间时间过长,这个实际上是由于每次语音输入完之后,默认需要有一个1.8秒的停顿,才算一句话的结束,然后又由于默认是有标点的识别的,标点的识别是在整句话识别完后间隔一段时间然后才识别出来,这样也耗了些时间,因此在ASR的初始化中添加关闭标点显示同时将停顿时间设为零,代码如下:
  1. mIat.setParameter(SpeechConstant.VAD_EOS,  "0");
  2. mIat.setParameter(SpeechConstant.ASR_PTT,  "0");
复制代码
     结果证明可以大幅的提高语音识别的速度,在IAT中也将停顿时间设为零,但是保留标点符号的显示,同样也可以大幅的提高语音转写速度。
      在程序的UI界面上也做了优化,灯泡自适应屏幕大小,同时对横屏和竖屏采取了两种不同的布局设计。
工程源代码:https://github.com/flyloong/BlueSTSDK/tree/V1.3.0                                          
APK安装包: V1.3.0.apk (3.62 MB, 下载次数: 1)

最新回复

找到了,原来躲在pictures/mycameraapp目录下面  详情 回复 发表于 2017-4-25 11:15
点赞 关注
个人签名QQ:252669569
 
 

回复
举报

111

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
语音识别反馈的速度的确快了许多。不过拍照后的照片保存在手机上好像还是有问题。
 
 
 

回复

111

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
找到了,原来躲在pictures/mycameraapp目录下面
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表