
我想将TextToSpeech引擎的输出写入我的应用程序的缓存目录.为了让TTS在那里写,我首先必须赋予它权限.但我不知道怎么做.我理解通常可以通过将fileDescriptor交给它来解决这些问题,从而赋予访问特定文件的权限.但我不能用TTS做到这一点,因为TextToSpeech.synthesizetofile方法只接受文件路径为String,没有fileDescriptor.那么该怎么办?
为了说明TTS真的没有权限写入我的应用程序的目录,这里是代码……:
TextToSpeech mTts = new new TextToSpeech(context, this);mTts.synthesizetofile(text, null, getCacheDir() + "/" + "speech.wav");和调试器日志:
08-20 14:46:11.257: ERROR/TtsService(336): Can't create/data/data/com.myorg.myapp/cache/speech.wav due to exception java.io.IOException: Permission denIEd解决方法:
TextToSpeech.synthesizeToFile()在实际设备中不起作用.它只适用于AVD.
我也一直在尝试使用原始的Pico TTS引擎和第三方TTS引擎,尝试写入sdcard或内部存储器(在root设备上):
context.getDir("soundfiles", Context.MODE_WORLD_WRITEABLE);但是,正如您所指出的,该方法返回TextToSpeech.SUCCESS而不实际创建文件.
如果必须将TTS输出录制到WAV文件,请将耳机输出连接到PC中声卡的辅助输入,然后使用任何录制软件捕获该输出.
总结以上是内存溢出为你收集整理的android – 如何让TTS将文件写入我的应用程序目录?全部内容,希望文章能够帮你解决android – 如何让TTS将文件写入我的应用程序目录?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)