2019.9.4课程设计情况
作者:互联网
一、当天完成的任务
将百度语音的sdk加载进项目
代码如下:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate( savedInstanceState ); setContentView( R.layout.activity_main ); EventManager eventManager = EventManagerFactory.create(this,"asr"); com.baidu.speech.EventListener eventListener = new com.baidu.speech.EventListener() { @Override public void onEvent(String s, String s1, byte[] data, int offset, int length) { if(s == SpeechConstant.CALLBACK_EVENT_ASR_READY){ Log.i("TAG","start:"+s1); info.setText(s+"\n"+s1); } if(s == SpeechConstant.CALLBACK_EVENT_ASR_BEGIN){ info.setText(s+"\n"+s1); } if(s == SpeechConstant.CALLBACK_EVENT_ASR_END){ info.setText(s+"\n"+s1); } if(s == SpeechConstant.CALLBACK_EVENT_ASR_PARTIAL){ //TODO } } }; eventManager.registerListener(eventListener); eventManager.send(SpeechConstant.ASR_START,jsonObject.toString(),null,0,0); } private void initPermission() { String permissions[] = {Manifest.permission.RECORD_AUDIO, Manifest.permission.ACCESS_NETWORK_STATE, Manifest.permission.INTERNET, Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE }; ArrayList<String> toApplyList = new ArrayList<String>(); for (String perm :permissions){ if (PackageManager.PERMISSION_GRANTED != ContextCompat.checkSelfPermission(this, perm)) { toApplyList.add(perm); //进入到这里代表没有权限. } } String tmpList[] = new String[toApplyList.size()]; if (!toApplyList.isEmpty()){ ActivityCompat.requestPermissions(this, toApplyList.toArray(tmpList), 123); } } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { // 此处为android 6.0以上动态授权的回调,用户自行实现。 } }
二、第二天的计划
将百度sdk完成的项目导入原有文件,完成语音输入
三、每日小结
百度sdk的文档写的相当糟糕,给出的demo功能过多,并没有对于单一功能的demo,需要自己阅读代码来寻找自己所需要的部分并进行改动。虽然只是一个小小的语音输入转文字输入,但需要很多的工作,阅读很多的文档。
标签:ASR,课程设计,SpeechConstant,2019.9,permission,s1,toApplyList,情况,String 来源: https://www.cnblogs.com/hj609/p/11461453.html