app:http://fir.im/gval 这里面包含拨盘UI
开发平台:android studio
模拟一个 原始需求如下:
1) 在界面上,通过声音提示用户讲话;
2) 将语音内容转换为文字并存储。
例如:用户启动应用后,点击按键后,应用问“请问你在哪个国家”,5s后如果用户不回答,再问“请问你在哪个国家”,如果5s后,用户仍然不回答,不再询问。如果5s内用户回答,则将内容记录下来,记录完毕后,再继续问“请问你在那个城市”。
这个真的是,困难很多,虽然现在做好了,但是我有很多要分享的
一开始我是使用百度的接口,百度有提供demo,这个就不说了,下载了语音识别和语音合成,语音合成的没什么声音,虽然声音不太好听,但是语音识别的问题太多了,这两个肯定不是一拨人写的,从代码风格就可以看出来,去他的官网找资料,反正我是没找过什么有用的,语音识别那个,给了一个app,那个跟给的源码都不是一个,简直醉了,把提供的源码搞到项目里,项目可以运行,或许是androidstudio的缘故,要么就是源码有问题,反正问题很多,
对了这里要说一个androidstudio导jar文件和so 文件的,jar文件就拷贝到lib下,右击倒数2-3那边就好了,so文件需要新建一个jniLibs的文件夹,so文件包括文件夹拷贝到这个目录下,使用百度的需要把两个jar文件都加入进来
使用百度的语音识别,我在小米5+的系统上,麦克风一直起不来,该给的权限都给了,可能是系统的问题,这个浪费了我两天时间,不得不说,百度的源码做的不太方便,不方便使用和阅读,
从百度的语音合成上学到一个首页的布局
public class MainActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.addPreferencesFromResource(R.xml.category);
}
}
然后xml文件:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="root_screen">
<Preference android:title="Version 1.2.6" >
</Preference>
<Preference android:title="拨盘UI" >
<intent
android:targetPackage="android.cl.com.tts"
android:targetClass="android.cl.com.tts.UIActivity" >
</intent>
</Preference>
<Preference android:title="Only 小Q speaking" >
<intent
android:targetPackage="android.cl.com.tts"
android:targetClass="android.cl.com.tts.BaiDuWordToVoiceActivity" >
</intent>
</Preference>
<Preference android:title="Only you speaking" >
<intent
android:targetPackage="android.cl.com.tts"
android:targetClass="android.cl.com.tts.IFVoiceToWordActivity" >
</intent>
</Preference>
<Preference android:title="小Q 语音交互" >
<intent
android:targetPackage="android.cl.com.tts"
android:targetClass="android.cl.com.tts.TTSActivity" >
</intent>
</Preference>
</PreferenceScreen>
不需要写按钮啦,监听啦,个人很喜欢,适合做界面跳转页
然后就找到讯飞的语音,这个怎么说呢,写的很好,怪我不是使用,反正我把这两个功能的源码下载下来,或许是我使用的工具