• 2019.8.31课程设计报告


    一、当天完成的任务

       划水了一天,导入了module,弄了个百度语音的程序,效果不太行,识别率不怎么高。

       贴个代码:

    public class MainActivity extends AppCompatActivity {
    
        private static final String TAG = MainActivity.class.getSimpleName();
    
        private Button mOpenSpeechDialogBtn;
        private Button mOpenSpeechLongDialogBtn;
        private TextView mResultTv;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            onePermission();
    
            initViews();
            initEvents();
        }
    
        private void initViews() {
            mOpenSpeechDialogBtn = findViewById(R.id.btn_openSpeechDialog);
            mOpenSpeechLongDialogBtn = findViewById(R.id.btn_openSpeechLongDialog);
            mResultTv = findViewById(R.id.tv_result);
        }
    
        private void initEvents() {
            mOpenSpeechDialogBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    //打开百度语音对话框
                    SpeechBottomSheetDialog speechBottomSheetDialog = SpeechBottomSheetDialog.getInstance(MainActivity.this);
                    speechBottomSheetDialog.seOnResultListItemClickListener(new SpeechBottomSheetDialog.OnResultListItemClickListener() {
                        @Override
                        public void onItemClick(String title) {
                            //填充到输入框中
                            mResultTv.setText(title);
                        }
                    });
                    speechBottomSheetDialog.show(getSupportFragmentManager(), TAG);
                }
            });
            mOpenSpeechLongDialogBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    //打开百度语音对话框
                    SpeechLongBottomSheetDialog speechLongBottomSheetDialog = SpeechLongBottomSheetDialog.getInstance(MainActivity.this);
                    speechLongBottomSheetDialog.seOnResultListItemClickListener(new SpeechLongBottomSheetDialog.OnResultListItemClickListener() {
                        @Override
                        public void onItemClick(String title) {
                            //填充到输入框中
                            mResultTv.setText(mResultTv.getText()+title);
                        }
                    });
                    speechLongBottomSheetDialog.show(getSupportFragmentManager(), TAG);
                }
            });
    
        }
    
        /**只有一个运行时权限申请的情况*/
        private void onePermission(){
            RxPermissions rxPermissions = new RxPermissions(MainActivity.this); // where this is an Activity instance
            rxPermissions.request(Manifest.permission.RECORD_AUDIO,
                    Manifest.permission.READ_PHONE_STATE,
                    Manifest.permission.WRITE_EXTERNAL_STORAGE) //权限名称,多个权限之间逗号分隔开
                    .subscribe(new Consumer<Boolean>() {
                        @Override
                        public void accept(Boolean granted) throws Exception {
                            Log.e(TAG, "{accept}granted=" + granted);//执行顺序——1【多个权限的情况,只有所有的权限均允许的情况下granted==true】
                            if (granted) { // 在android 6.0之前会默认返回true
                                // 已经获取权限
                            } else {
                                // 未获取权限
                                Toast.makeText(MainActivity.this, "您没有授权该权限,请在设置中打开授权", Toast.LENGTH_SHORT).show();
                            }
                        }
                    }, new Consumer<Throwable>() {
                        @Override
                        public void accept(Throwable throwable) throws Exception {
                            Log.e(TAG,"{accept}");//可能是授权异常的情况下的处理
                        }
                    }, new Action() {
                        @Override
                        public void run() throws Exception {
                            Log.e(TAG,"{run}");//执行顺序——2
                        }
                    });
        }
    }

    效果图明天整理好再贴

    二、第二天的计划

      把语音识别都弄好吧。

    三、每日小结

       ①之前都是导jar包,今天还是第一次导module,挺麻烦的。

       ②识别不出来也没办法啊,免费版就这样了,。,

       ③中国队给爷冲

  • 相关阅读:
    Otter详解
    为什么要使用Netty
    haproxy实现mysql集群负载均衡
    Mysql主从复制
    java编程思想读书笔记三(HashMap详解)
    代码界的石器时代
    补码的产生与应用
    java编程思想读书笔记二(对象的创建)
    java编程思想读书笔记一(面向对象)
    Apache VFS
  • 原文地址:https://www.cnblogs.com/RecKono/p/11440246.html
Copyright © 2020-2023  润新知