android 关于 语音的 APP 崩溃报错

li281180568 2014-12-23 11:17:47

求解答
...全文
299 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
li281180568 2014-12-24
  • 打赏
  • 举报
回复
引用 10 楼 inquisitive_plus 的回复:
[quote=引用 8 楼 li281180568 的回复:] [quote=引用 7 楼 inquisitive_plus 的回复:] [quote=引用 5 楼 li281180568 的回复:] [quote=引用 1 楼 sagittarius1988 的回复:] 不是说找不到对应的Activity了嘛
看下3楼 帮忙找找原因[/quote] 你调用的是谷歌的语音是吧。可能机子里ROM阉割了谷歌语音,还有被墙 语音功能推荐用科大讯飞的,或者百度的。[/quote] 我安装了讯飞,但是怎么调用起来啊,不会用这东西[/quote] 申请科大讯飞开发者->下载SDK和Demo->Demo跑起来…… 看Demo的代码。看他的IatDemo语音分析那部分,工作基本都是云端进行的。你只能改改UI之类的[/quote] 这样。。 谢啦
windfury_plus 2014-12-24
  • 打赏
  • 举报
回复
引用 8 楼 li281180568 的回复:
[quote=引用 7 楼 inquisitive_plus 的回复:] [quote=引用 5 楼 li281180568 的回复:] [quote=引用 1 楼 sagittarius1988 的回复:] 不是说找不到对应的Activity了嘛
看下3楼 帮忙找找原因[/quote] 你调用的是谷歌的语音是吧。可能机子里ROM阉割了谷歌语音,还有被墙 语音功能推荐用科大讯飞的,或者百度的。[/quote] 我安装了讯飞,但是怎么调用起来啊,不会用这东西[/quote] 申请科大讯飞开发者->下载SDK和Demo->Demo跑起来…… 看Demo的代码。看他的IatDemo语音分析那部分,工作基本都是云端进行的。你只能改改UI之类的
li281180568 2014-12-24
  • 打赏
  • 举报
回复
引用 6 楼 lydong 的回复:
第89行是什么,贴一堆
那块是粘过来的。。。
li281180568 2014-12-24
  • 打赏
  • 举报
回复
引用 7 楼 inquisitive_plus 的回复:
[quote=引用 5 楼 li281180568 的回复:] [quote=引用 1 楼 sagittarius1988 的回复:] 不是说找不到对应的Activity了嘛
看下3楼 帮忙找找原因[/quote] 你调用的是谷歌的语音是吧。可能机子里ROM阉割了谷歌语音,还有被墙 语音功能推荐用科大讯飞的,或者百度的。[/quote] 我安装了讯飞,但是怎么调用起来啊,不会用这东西
windfury_plus 2014-12-24
  • 打赏
  • 举报
回复
引用 5 楼 li281180568 的回复:
[quote=引用 1 楼 sagittarius1988 的回复:] 不是说找不到对应的Activity了嘛
看下3楼 帮忙找找原因[/quote] 你调用的是谷歌的语音是吧。可能机子里ROM阉割了谷歌语音,还有被墙 语音功能推荐用科大讯飞的,或者百度的。
lydong 2014-12-24
  • 打赏
  • 举报
回复
第89行是什么,贴一堆
li281180568 2014-12-24
  • 打赏
  • 举报
回复
引用 1 楼 sagittarius1988 的回复:
不是说找不到对应的Activity了嘛
看下3楼 帮忙找找原因
li281180568 2014-12-24
  • 打赏
  • 举报
回复
引用 2 楼 inquisitive_plus 的回复:
是调用系统录音? Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION); 反正你提供的有错误
看下3楼 帮忙找找原因
li281180568 2014-12-24
  • 打赏
  • 举报
回复
package com.test.duihua; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import cn.Wongxming.weather.WeatherForecast; import DB.DBManager; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.os.StrictMode; import android.speech.RecognizerIntent; import android.speech.tts.TextToSpeech; import android.speech.tts.TextToSpeech.OnInitListener; import android.view.View; import android.view.Window; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import android.widget.Toast; public class VoiceActivity extends Activity implements OnInitListener{ private Button reButton,voiceButton; private int MY_DATA_CHECK_CODE = 0; private SocketClient client; private TextToSpeech tts; private String text; private ImageView ivAnimView; private AnimationDrawable animationDrawable; private static final int VOICE_RECOGNITION_REQUEST_CODE_1 = 1234; private ArrayList<String> matches=new ArrayList<String>(); @SuppressLint("NewApi") public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.voiceactivity); /////////////////////////////////////// StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() //构造StrictMode .detectDiskReads() //当发生磁盘读操作时输出 .detectDiskWrites()//当发生磁盘写操作时输出 .detectNetwork() //访问网络时输出,这里可以替换为detectAll() 就包括了磁盘读写和网络I/O .penaltyLog() //以日志的方式输出 .build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects() //探测SQLite数据库操作 .penaltyLog() //以日志的方式输出 .penaltyDeath() .build()); //////////////////////////////////////////////// // getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.titlebar); reButton=(Button)findViewById(R.id.pause4); voiceButton=(Button)findViewById(R.id.voicestart); ivAnimView = (ImageView) findViewById(R.id.voiceView); client=new SocketClient(); reButton.setOnClickListener(new OnClickListener(){ public void onClick(View v){ Intent mIntent = new Intent(); mIntent.setClass( VoiceActivity.this,Mainmenu.class); VoiceActivity.this.startActivity(mIntent); tts.shutdown(); VoiceActivity.this.finish(); } }); voiceButton.setOnClickListener(new OnClickListener(){ public void onClick(View v){ startVoiceRecognitionActivity(); }}); Intent checkIntent = new Intent(); checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); startActivityForResult(checkIntent, MY_DATA_CHECK_CODE); } public void startVoiceRecognitionActivity(){ //经过进程Intent通报语音辨认的情势 try{ Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); //语音辨认 intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); //提示语音 intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo"); //Intent、语音辨认 startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE_1); }catch (Exception e){ // TODO: handle exception e.printStackTrace(); Toast.makeText(getApplicationContext(), "找不到语音设备", 1).show();} } //回调函数onActivityResult @Override protected void onActivityResult(int requestCode, int resultCode, Intent data){ if (requestCode == VOICE_RECOGNITION_REQUEST_CODE_1 && resultCode == RESULT_OK) { // 得到语音的字符 matches =data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); if(matches.size()<=0)text=""; else text=matches.get(0).toString(); String anwser=getanswer(); String[] biaoqing=anwser.split("/"); if (biaoqing[0]!=null && biaoqing[0].length()>0) {if(biaoqing[0].equals("时间")) tts.speak(getDate(), TextToSpeech.QUEUE_FLUSH, null);else if(biaoqing[0].equals("天气")){ tts.speak("让我们一起去看看吧!", TextToSpeech.QUEUE_FLUSH, null); Intent mIntent = new Intent(); mIntent.setClass( VoiceActivity.this,WeatherForecast.class); VoiceActivity.this.startActivity(mIntent); VoiceActivity.this.finish(); }else{ float biaoqingnum=Float.valueOf(biaoqing[1]); tts.speak(biaoqing[0], TextToSpeech.QUEUE_FLUSH, null); if(biaoqingnum>0.6) getbiaoqingnum(R.anim.frame_voiceanimation_happy); if(biaoqingnum<(-0.6)) getbiaoqingnum(R.anim.frame_voiceanimation_angry); if(biaoqingnum<(-0.3)&&biaoqingnum>(-0.6)) getbiaoqingnum(R.anim.frame_voiceanimation_cry); if(biaoqingnum<(0.3)&&biaoqingnum>(-0.3)) ivAnimView.setBackgroundResource(R.drawable.man); } if(!tts.isSpeaking()){ animationDrawable.stop(); ivAnimView.setBackgroundResource(R.drawable.man); } } super.onActivityResult(requestCode, resultCode, data); } if (requestCode == MY_DATA_CHECK_CODE) { if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) { // success, create the TTS instance tts = new TextToSpeech(this, this); } else { // missing data, install it Intent installIntent = new Intent(); installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); startActivity(installIntent); } } } public void getbiaoqingnum(int num){ ivAnimView.setBackgroundResource(num); Object backgroundObject = ivAnimView.getBackground(); animationDrawable = (AnimationDrawable) backgroundObject; animationDrawable.setOneShot(false); animationDrawable.stop(); animationDrawable.start(); } public String getanswer(){ String endstr=text.substring(text.length()-1, text.length()); if(endstr.equals("啊")||endstr.equals("哦")) text=text.substring(0,text.length()-1); DBManager dbmanager=new DBManager(VoiceActivity.this);//启动数据库 String anwser=dbmanager.query(text);//查询 dbmanager.closeDatabase();//关闭数据库 if(anwser==""||anwser.equals(null)) { text=text+ "\r\n"; try{ if(client.ConnectSever("172.22.251.1")) { client.setmessage(text); anwser=client.getmessage(); } if(client.CloseSocket()) System.out.println("SocketClient close sueccess"); else System.out.println("SocketClient close false"); } catch (Exception e) { e.printStackTrace(); } } return anwser; } @Override public void onInit(int status) { // TODO Auto-generated method stub } @Override protected void onDestroy() { super.onDestroy(); tts.shutdown(); } private String getDate(){ SimpleDateFormat sdf =new SimpleDateFormat("MM-dd HH:mm"); Date d = new Date(); return sdf.format(d); } }
windfury_plus 2014-12-23
  • 打赏
  • 举报
回复
是调用系统录音? Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION); 反正你提供的有错误
sagittarius1988 2014-12-23
  • 打赏
  • 举报
回复
不是说找不到对应的Activity了嘛

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧