当前位置: 首页 > news >正文

门户网站建设汇报首页公司

门户网站建设汇报,首页公司,小程序流量点击推广平台,云南省工程建设造价协会网站原文#xff1a;http://blog.csdn.net/monkeyduck/article/details/24302655 在科大讯飞语音包的Mscdemo中它的方法都是写在Activity中的#xff0c;这样其实并不是很好#xff0c;因为Activity只是负责UI交互的#xff0c;如果项目很简单自然可以#xff0c;但是一旦比较… 原文http://blog.csdn.net/monkeyduck/article/details/24302655 在科大讯飞语音包的Mscdemo中它的方法都是写在Activity中的这样其实并不是很好因为Activity只是负责UI交互的如果项目很简单自然可以但是一旦比较复杂肯定要自己定义很多包很多类但是写在Activity中的方法就不能被自己定义的类调用了咋办尼那就把方法写在自己的类里就行了。准备工作把Msc.jar包和libmsc.so拷贝到自己工程的libs目录下这样才能用它的方法和类。libmsc.so一定要用自己Id下载的包因为这个包和你的那个appid是绑定的拷贝别人的是不行的会有用户校验失败的错误我就困扰了很久很久。。。 以语音合成方法为例我在自己的应用程序中需要调用它的合成函数所以在自己的类里调用了它的synthetizeInSilence()方法。如下   [java] view plaincopy /**  * 使用SpeechSynthesizer合成语音不弹出合成Dialog. * param */  private void synthetizeInSilence() {      if (null  mSpeechSynthesizer) {              //创建合成对象.              mSpeechSynthesizer  SpeechSynthesizer.createSynthesizer(this);          }          //设置合成发音人.          String role  mSharedPreferences.getString(                  getString(R.string.preference_key_tts_role),                  getString(R.string.preference_default_tts_role));                    //设置发音人          mSpeechSynthesizer.setParameter(SpeechConstant.VOICE_NAME, role);          //获取语速          int speed  mSharedPreferences.getInt(                  getString(R.string.preference_key_tts_speed),                  50);          //设置语速          mSpeechSynthesizer.setParameter(SpeechConstant.SPEED, speed);          //获取音量.          int volume  mSharedPreferences.getInt(                  getString(R.string.preference_key_tts_volume),                  50);          //设置音量          mSpeechSynthesizer.setParameter(SpeechConstant.VOLUME, volume);          //获取语调          int pitch  mSharedPreferences.getInt(                  getString(R.string.preference_key_tts_pitch),                  50);          //设置语调          mSpeechSynthesizer.setParameter(SpeechConstant.PITCH, pitch);          //获取合成文本.          Editable editable  mSourceText.getText();          String source  null;          if (null ! editable) {              source  editable.toString();          }          //进行语音合成.          mSpeechSynthesizer.startSpeaking(source, this);          showTip(String.format(getString(R.string.tts_toast_format),0 ,0));      }   这里会遇到几个问题一个是SpeechSynthesizer.createSynthesizer(this)方法中的this源程序是指Activity对象因为这个参数要求是Context即上下文对象在Activity里可以写this在自己类里写this就成指代类对象自然报错了。解决办法是将自己的类继承Application可以用getApplicationContext()方法获取Context对象。第二个错误就是mSharedPreferences这里是定义很多参数可有可无不定义就用默认值想定义就直接调用setParameter就可以了在这偷个懒就用其默认值了修改后的类书写如下。     [java] view plaincopy package dmcore.outputs;  import android.app.Application;  import android.content.Context;    import com.iflytek.cloud.speech.SpeechError;  import com.iflytek.cloud.speech.SpeechSynthesizer;  import com.iflytek.cloud.speech.SynthesizerListener;    public class MyOutput extends Application implements SynthesizerListener{      //缓存对象.      //private SharedPreferences mSharedPreferences;      //合成对象.      private SpeechSynthesizer mSpeechSynthesizer;      private static Context context;         public void onCreate() {          super.onCreate();          MyOutput.context  getApplicationContext();      }        public static Context getAppContext() {          return MyOutput.context;      }            //-------------------------------------------------------------------------      // Constructor      //-------------------------------------------------------------------------      public MyOutput(){                }      public void SetParameter(){          if (mSpeechSynthesizer  null) {              //创建合成对象.              mSpeechSynthesizer  SpeechSynthesizer.createSynthesizer(context);          }          /*//设置合成发音人.         String role  mSharedPreferences.getString(                 getString(R.string.preference_key_tts_role),                 getString(R.string.preference_default_tts_role));                  //设置发音人         mSpeechSynthesizer.setParameter(SpeechConstant.VOICE_NAME, role);         //获取语速         int speed  mSharedPreferences.getInt(                 getString(R.string.preference_key_tts_speed),                 50);         //设置语速         mSpeechSynthesizer.setParameter(SpeechConstant.SPEED, speed);         //获取音量.         int volume  mSharedPreferences.getInt(                 getString(R.string.preference_key_tts_volume),                 50);         //设置音量         mSpeechSynthesizer.setParameter(SpeechConstant.VOLUME, volume);         //获取语调         int pitch  mSharedPreferences.getInt(                 getString(R.string.preference_key_tts_pitch),                 50);         //设置语调         mSpeechSynthesizer.setParameter(SpeechConstant.PITCH, pitch);*/      }      /**      * 使用SpeechSynthesizer合成语音不弹出合成Dialog.      * param      */      public void synthetizeInSilence(String SourceText) {          //进行语音合成.          mSpeechSynthesizer.startSpeaking(SourceText, this);      }            Override      public void onBufferProgress(int arg0, int arg1, int arg2, String arg3) {          // TODO Auto-generated method stub                }      Override      public void onCompleted(SpeechError arg0) {          // TODO Auto-generated method stub                }      Override      public void onSpeakBegin() {          // TODO Auto-generated method stub                }      Override      public void onSpeakPaused() {          // TODO Auto-generated method stub                }      Override      public void onSpeakProgress(int arg0, int arg1, int arg2) {          // TODO Auto-generated method stub                }      Override      public void onSpeakResumed() {          // TODO Auto-generated method stub                }  }   注意还没完要到Manifest.xml文件的application标签里加上你的类的位置我的是android:namedmcore.outputs.MyOutput当然还要加上那些uses-permission如下uses-permissionandroid:nameandroid.permission.RECORD_AUDIO /uses-permissionandroid:nameandroid.permission.INTERNET /uses-permissionandroid:nameandroid.permission.ACCESS_NETWORK_STATE /uses-permissionandroid:nameandroid.permission.ACCESS_WIFI_STATE /uses-permissionandroid:nameandroid.permission.CHANGE_NETWORK_STATE /uses-permissionandroid:nameandroid.permission.READ_PHONE_STATE /uses-permission android:nameandroid.permission.WRITE_EXTERNAL_STORAGE /uses-permission android:nameandroid.permission.READ_CONTACTS/主函数中先创建MyOutput对象再调用SetParameter方法再调用synthetizeInSilence()方法参数传入你想输出的话大功告成 转载于:https://www.cnblogs.com/tc310/p/3995972.html
http://www.sadfv.cn/news/372894/

相关文章:

  • 学校网站风格wordpress记录点击数
  • 深圳房价百度搜索排名优化哪家好
  • 网站建设与设计ppt模板下载vue做网站的实例
  • 深圳市网站建设哪家好网站制作需要什么
  • 营销型网站=企业登记代理服装在线设计平台
  • 做打折网站如何新媒体营销工具有哪些
  • 开拓网站建设公司山东大宗商品交易平台
  • 网站界面分类有哪些做ppt网站
  • 前端响应式网站官方网站建设项目询价
  • 厦门市思明区建设局网站c2c平台的产品类型
  • 铜陵建设行业培训学校网站四川建筑信息平台
  • 营销建设网站制作佛山企业名录黄页
  • 网站建设亿玛酷技术网站用户互动
  • 嘉峪关做网站网站开发ssh
  • 怎么设计网站规划方案外贸做什么产品出口好
  • 电子商务网站建设林锋课本答案wordpress首页显示vip标志
  • 什么网站可以做美食4399网页
  • 站点的几种推广方式工业互联网平台有哪些
  • 泉州有专门帮做网站的吗怎么接单做网站
  • 学网站建设免费的wordpress主机
  • 鹤城建设集团网站舟山网站建设公司
  • 绵阳市城乡建设和规划局网站凡客诚品售后服务
  • 阿里云域名查询和注册广州网站优化排名系统
  • 表白网站在线生成免费广德县住房和城乡建设网站
  • 什么网站可以做设计兼职全网营销整合推广
  • 下沙做网站软件棋牌软件开发教程
  • 东莞公司网站价格网站建设怎么选择MySQL数据库大小
  • 手机销售网站源码招聘网站开发需求分析
  • 企业网站怎么建wordpress页面模板目录文件下载
  • 优化网站作用西安在线最新招聘信息