0
我想在这里做一个朗读菜单选项。这是我写的代码。但它并不真正朗读卡片上的文字。该文件说,如果卡上有任何文本,它会大声朗读。我的卡上有一些文字:菜单选项朗读不起作用
newcard.setText("text");
我MenuActivity
这就叫这个样子的。
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
public class MenuActivity extends Activity {
public Object json(int menuid)
{
JSONObject obj = new JSONObject();
try {
System.out.println("goes into try of json");
obj.put("text", "Hello World");
obj.put("menuItems", new JSONObject().put("action", "READ_ALOUD"));
System.out.println(obj);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return obj;
}
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
openOptionsMenu();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.second, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection.
switch (item.getItemId()) {
case R.id.read_aloud_menu_item:
System.out.println("goes itno read aloud case");
json(item.getItemId());
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public void onOptionsMenuClosed(Menu menu) {
// Nothing else to do, closing the activity.
finish();
}
}
我真的不确定是否可以通过这样的JSON。如果不是这样,我该怎么办?
对不起,我是一个菜鸟,但什么是 mSpeech.speak文本(JSON(item.getItemId())的文本,TextToSpeech.QUEUE_FLUSH,空); 它给出一个错误,所以它不是在obj.put文本(“文本”,“你好世界”); – Chirag
它抛出了什么错误?试试:mSpeech.speak(“hello”,TextToSpeech.QUEUE_FLUSH,null);如果这能起作用,请检查你为什么没有找到正确的文本......如果你想知道它到底是什么,那么首先要深入文档,如果你没有得到它,请在这里提出你的问题。 – Ferdau
好的,我按照建议试过,它甚至没有读“你好”。我一定会通过文件进一步了解。 – Chirag