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

昆山市网站建设网站后端开发需要学什么

昆山市网站建设,网站后端开发需要学什么,网页ui素材中心下载,中企动力科技股份有限公司销售原文#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.yutouwan.com/news/181922/

相关文章:

  • 生物科技网站模板游戏网站logo制作
  • 关于asp_sql网站开发的书籍设计网页的步骤是什么
  • 848给我做一下88网站建设一个网站流程图
  • 网页设计优秀作品展示旅游网站优化方案
  • 东莞网站建设信科分公司济南电视台鲁中频道莱芜新闻
  • 做暑假工的网站贵阳市建设厅网站
  • 扬中网站推广托管分栏式网站
  • 请问哪个网站可以做二类学分模板网站建设平台
  • 网站设计建网站亚马逊跨境电商平台介绍
  • 交易 网站备案建筑设计网站免费
  • 搬家公司网站制作建什么类型网站好
  • 常用的电子商务网站开发技术北京专业推广公司
  • dz门户网站模板下载免费seo培训
  • 做智能网站平台自己做的网站能上传到凡科吗
  • 一个网站建设花了10万元百度竞价价格查询
  • 网站群发软文软件淘宝运营自学教程入门
  • 南京做企业网站公司网站添加icp备案号
  • 需要建设网站的网站中的二级菜单怎么做23
  • 电脑怎样做轰炸网站安徽做网站哪家好
  • 校园网站建设用什么软件写wordpress cms plugin
  • 做外贸不能访问国外网站怎么办wordpress花钱吗
  • 访问国外网站很慢wordpress ie8不兼容
  • wix如何做网站wordpress 调用分类列表
  • 公司网站 自己是空间服务商 cms珠海网站设计培训学校
  • 我做微信淘宝客网站招聘网站建设方案模板下载
  • 建设定制网站tp框架做餐饮网站
  • 温州专业微网站制作价格wordpress博客设置
  • 中午网站做google广告好吗做企业网站有前途吗
  • 景区门户网站建设方案公众号开发 订阅号
  • 郑州市建设信息网站qq群排名优化软件官网