You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将TTS生成的WAV文件保存至Android内部存储?

修改代码实现TTS音频保存到Android内部存储

直接替换原代码中文件路径的生成逻辑,改用Android内部存储的私有目录,具体修改后的speakNow方法如下:

public void speakNow(View v) {
    Log.i(tag, "speakNow [" + et.getText().toString() + "]");
    HashMap<String, String> myHashRender = new HashMap();
    tts.speak(et.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);
    
    // 改用内部存储私有目录
    File internalAudioDir = new File(getFilesDir(), "Audio007");
    // 确保目录存在,不存在则创建
    if (!internalAudioDir.exists()) {
        internalAudioDir.mkdirs();
    }
    String destFileName = new File(internalAudioDir, "wakeUp.wav").getAbsolutePath();
    
    Toast.makeText(this, "" + destFileName, Toast.LENGTH_SHORT).show();
    myHashRender.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, et.getText().toString());
    tts.synthesizeToFile(et.getText().toString(), myHashRender, destFileName);
}

关键修改说明:

  • 用getFilesDir()获取应用的内部存储私有目录,路径为/data/data/你的应用包名/files/,这个目录属于应用私有,其他应用无法访问,卸载应用时会被自动删除。
  • 手动创建Audio007子目录,避免因目录不存在导致文件保存失败。
  • 不需要申请外部存储权限,因为内部存储私有目录的读写是应用默认拥有的权限。

内容的提问来源于stack exchange,提问作者arun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 18:35:49