基于讯飞开放平台的安卓语音开发教程:语音合成(文本→语音)。
public class MainActivity extends Activity { // 语音合成对象 private SpeechSynthesizer mTts; // 播放进度 private int mPercentForPlaying = 0; // 缓冲进度 private int mPercentForBuffering = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化即创建语音配置对象,只有初始化后才可以使用MSC的各项服务 SpeechUtility.createUtility(MainActivity.this, SpeechConstant.APPID + "= 595baeb7"); // 初始化合成对象 mTts = SpeechSynthesizer.createSynthesizer(MainActivity.this, mTtsInitListener); findViewById(R.id.bt).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub String text = ((EditText) findViewById(R.id.et)).getText() .toString(); mTts.startSpeaking(text, mTtsListener); } }); } /** * 初始化监听器。 */ private InitListener mTtsInitListener = new InitListener() { @Override public void onInit(int code) { if (code != ErrorCode.SUCCESS) { Toast.makeText(MainActivity.this, "初始化失败,错误码:" + code, Toast.LENGTH_LONG).show(); } } }; /** * 合成回调监听。 */ private SynthesizerListener mTtsListener = new SynthesizerListener() { @Override public void onSpeakBegin() { // 开始播放 } @Override public void onSpeakPaused() { // 暂停播放 } @Override public void onSpeakResumed() { // 继续播放 } @Override public void onBufferProgress(int percent, int beginPos, int endPos, String info) { // 合成进度 mPercentForBuffering = percent; } @Override public void onSpeakProgress(int percent, int beginPos, int endPos) { // 播放进度 mPercentForPlaying = percent; } @Override public void onCompleted(SpeechError error) { } @Override public void onEvent(int eventType, int arg1, int arg2, Bundle obj) { } }; }
如对本文有疑问, 点击进行留言回复!!
android -- ndk (stack corruption detected)
Android Span富文本图文混排 - ImageSpan(图文垂直居中)
Element DateTimePicker日期时间选择器的使用示例
【Appium踩坑】小米手机,启动报错:exited with code 255 writing to settings requires:android.permission.WRITE_SECUR
android 拍照 预览图与 照片分辨率(可视区域)不一致
[PAT顶级]1025 Keep at Most 100 Characters (35分)
网友评论