其他分享
首页 > 其他分享> > 2019.9.4课程设计情况

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