java– 未创建Android TextToSpeech.synthesizeToFile()文件

java– 未创建Android TextToSpeech.synthesizeToFile()文件,第1张

概述我正在尝试使用tts和MediaPlayer对某些文本实现暂停和播放功能.但是,我似乎无法使用synthesizeToFile函数创建.wav文件.我已经为xml文件添加了所需的权限:<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>这是我目前使用的文件创建方法:pri

我正在尝试使用tts和MediaPlayer对某些文本实现暂停和播放功能.但是,我似乎无法使用synthesizetofile函数创建.wav文件.

我已经为xml文件添加了所需的权限:

<uses-permission    androID:name="androID.permission.WRITE_EXTERNAL_STORAGE" />

这是我目前使用的文件创建方法:

private String envPath = Environment.getExternalStorageDirectory()        .getabsolutePath() + "/Download";private Uri fileUri;public voID fileCreate() {    String inputText = output.getText().toString();    HashMap<String, String> myHashRender = new HashMap<String, String>();    myHashRender.put(TextToSpeech.Engine.KEY_ParaM_UTteraNCE_ID, inputText);    Log.d(TAG, "successfully created hashmap");    String destfilename = envPath + "/" + "tts_file.wav";    int sr = tts.synthesizetofile(inputText, myHashRender, destfilename);    Log.d(TAG, "synthesize returns = " + sr);    file fileTTS = new file(destfilename);    if (fileTTS.exists()) {        Log.d(TAG, "successfully created fileTTS");    }    else {        Log.d(TAG, "Failed while creating fileTTS");    }    fileUri = Uri.fromfile(fileTTS);    Log.d(TAG, "successfully created uri link: " + fileUri.getPath());}

这就是我创建mediaPlayer的方式:

fileCreate();    mp = MediaPlayer.create(this, fileUri);    Log.d(TAG, "successfuly created mediaplayer");    btnRead.setonClickListener(new OnClickListener() {        @OverrIDe        public voID onClick(VIEw arg0) {            if (mp.isPlaying()) {                mp.pause();                Log.d(TAG, "successfully paused");            } else {                mp.start();                Log.d(TAG, "successfully started");            }        }    });

有任何想法吗?

解决方法:

方法synthesizetofile是异步的,因此你应该进行检查

file fileTTS = new file(destfilename);if (fileTTS.exists()) {    Log.d(TAG, "successfully created fileTTS");}else {    Log.d(TAG, "Failed while creating fileTTS");}

在onUtteranceCompletedListener或UtteranceProgressListener中

总结

以上是内存溢出为你收集整理的java – 未创建Android TextToSpeech.synthesizeToFile()文件全部内容,希望文章能够帮你解决java – 未创建Android TextToSpeech.synthesizeToFile()文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1099565.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存