首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >语音识别游戏

语音识别游戏
EN

Stack Overflow用户
提问于 2019-12-09 15:41:47
回答 1查看 39关注 0票数 0

我想问一下。我想做一个语音识别游戏。我想,举个例子,当问题“说A”而我说"A“时,答案是真的。当问题"B“和我说"M”时,答案是假的。但我有一个问题: 1。我必须为单词类别建立数据库吗? 2。如何制作一问一答?例如,当问题“说A”而我说"A“时,答案是真的。3.如果我必须创建数据库,我必须在语音识别类中实现它?谢谢并为我糟糕的英语感到抱歉。

这是我的语音识别代码

代码语言:javascript
复制
public class MainGame extends AppCompatActivity {


private TextView jawabanTxt;
private String textA;
TextView textView;

SpeechRecognizer mSpeechRecognizer;
Intent mSpeechRecognizerIntent;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_game_act);
    jawabanTxt = (TextView) findViewById(R.id.jawabanTxt);
    textView = (TextView) findViewById(R.id.textView);



}

public void getSpeechInput(View view){
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,Locale.getDefault());


if(intent.resolveActivity(getPackageManager())!=null) {
    startActivityForResult(intent, 10);
} else {
    Toast.makeText(this, "Perangkat anda tidak  mendukung", Toast.LENGTH_SHORT).show();
    }
}
protected void onActivityResult(int requestCode,int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode,data);

    switch (requestCode){
        case 10:
        if ((resultCode == RESULT_OK &&data != null)) {
            ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
            jawabanTxt.setText(result.get(0));
        }
        break;
        }
}

这是我的数据库代码(如果需要)

代码语言:javascript
复制
public class dbGame extends SQLiteOpenHelper {

private static final String DATABASE_NAME = "huruf.db";
private static final String DATABASE_VERSION = "1";
public dbGame(Context context){
    super(context, DATABASE_NAME, null, Integer.parseInt(DATABASE_VERSION));
}

@Override
public void onCreate(SQLiteDatabase db) {
    String sql = "create table game(huruf);";
    db.execSQL(sql);
    sql = "INSERT INTO game (huruf) VALUES('a','b','c','d');";
    db.execSQL((sql));

}

@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

}

这是我的“信件”类别

代码语言:javascript
复制
public class HurufActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.huruf_activity);
    ImageButton aBtn,bBtn,cBtn,d;

    aBtn = (ImageButton) findViewById(R.id.aBtn);
    bBtn = (ImageButton) findViewById(R.id.bBtn);


    aBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent = new Intent(HurufActivity.this, MainGame.class);
            startActivity(intent);
        }
    });

    bBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent = new Intent(HurufActivity.this, MainGame.class);
            startActivity(intent);
        }
    });

}
EN

回答 1

Stack Overflow用户

发布于 2019-12-09 17:06:45

  1. 是否必须为word类别创建数据库?

如果可以用问题和单词来扩展你的程序,而不仅仅是字母,那将是非常方便的。如果你只打算在你的程序中使用字母表,你可以使用一个数组或者一个列表来添加全部26个字符。

  1. 如何做一个问题和一个答案?例如,当问题“说A”而我说"A“时,答案是真的。

我建议你使用两种方法,一种是提出问题(可能是通过参数输入),另一种是检查用户给出的答案。我猜挑战在于想出一种你认为很方便的方式来指定一个正确的答案。使用语音识别软件,你可以生成一个布尔输出来检查答案,你可以用它来通过一个“正确”或“不正确”的结果。

  1. 如果我必须创建数据库,我必须在语音识别类中实现它?同样,数据库不应该是必需的,但是如果你想使用一个数据库,你可以通过直接查询或者JPA repo来尝试。

这里有一篇关于JPA的非常好的文章:https://www.baeldung.com/spring-data-jpa-multiple-databases

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59244445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档