Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以将字符串转换为音频流以播放字符串内容?_Java_Javasound - Fatal编程技术网

Java 是否可以将字符串转换为音频流以播放字符串内容?

Java 是否可以将字符串转换为音频流以播放字符串内容?,java,javasound,Java,Javasound,我正在尝试将字符串转换为音频流以播放字符串内容。代码如下 public void generateSound() { try { String audioString = "hello"; AudioInputStream inputStream=null; ByteArrayOutputStream byt = new ByteArrayOutputStream(); byt.write(audioString.getB

我正在尝试将字符串转换为音频流以播放字符串内容。代码如下

public void generateSound() {
    try {

        String audioString = "hello";
        AudioInputStream inputStream=null;
        ByteArrayOutputStream byt = new ByteArrayOutputStream();
        byt.write(audioString.getBytes());
        AudioFormat format = new AudioFormat(44100, 16, 1, false, true);
        Clip clip = AudioSystem.getClip();
        InputStream input = new ByteArrayInputStream(byt.toByteArray());
        AudioInputStream ais =new AudioInputStream(input, format, byt.toByteArray().length / format.getFrameSize());
        clip.open(inputStream);
        clip.start(); 
    } catch (Exception e) {
    }
}

我不知道这是否正确。如果不是,播放字符串内容的可能方式是什么?

当然不是这样-但是听起来你想要一个实现,就像。

当然不是那样-但是听起来你想要一个实现,比如。

我们可以通过TTS实现这一点,但我不想在我的应用程序中添加额外的jar文件,因为已经添加了太多的jar文件,所以我的TL不愿意接受这个TTS解决方案。你能告诉我一些使用javax.sound.sampled packake播放字符串内容的要点吗。这对我来说更有价值,谢谢。@user1023877:假设你真的想要文本到语音的支持,而你又不想自己写,那就别无选择了。Java声音根本不支持它作为一种功能,我也不希望它真的支持它。(当然,这是假设你真的想要文本到语音。你还没有真正说出你所说的“播放字符串内容”是什么意思。)嗨,Jon Skeet。我找到了两种产生声音的方法。java本身支持.wav和.au格式,因此我们需要将字符串值写入.wav文件,然后播放。**对于这一点,你能给我一些意见吗**。2.我们需要按照您的建议添加FreeTTs库。**您能告诉我如何添加这些库的过程吗**@user1023877:您不只是“将字符串值写入.wav文件”-您需要一些东西来“理解”文本的声音,这正是TTS库所要做的。至于“如何添加这些库的过程”-我不知道您正在编写什么样的应用程序,或者关于它的任何内容。然而,关于“下载和安装”的FreeTTS文档部分似乎很好,还有一个快速入门部分。IDE是Netbeans,应用程序文件是EAR(EJB+WAR)框架是jsf 1.2我们可以通过TTS实现这一点,但我不想向我的应用程序添加额外的jar文件,因为已经添加了太多的jar文件,所以我的TL不愿意接受这个TTS解决方案。你能告诉我一些使用javax.sound.sampled packake播放字符串内容的要点吗。这对我来说更有价值,谢谢。@user1023877:假设你真的想要文本到语音的支持,而你又不想自己写,那就别无选择了。Java声音根本不支持它作为一种功能,我也不希望它真的支持它。(当然,这是假设你真的想要文本到语音。你还没有真正说出你所说的“播放字符串内容”是什么意思。)嗨,Jon Skeet。我找到了两种产生声音的方法。java本身支持.wav和.au格式,因此我们需要将字符串值写入.wav文件,然后播放。**对于这一点,你能给我一些意见吗**。2.我们需要按照您的建议添加FreeTTs库。**您能告诉我如何添加这些库的过程吗**@user1023877:您不只是“将字符串值写入.wav文件”-您需要一些东西来“理解”文本的声音,这正是TTS库所要做的。至于“如何添加这些库的过程”-我不知道您正在编写什么样的应用程序,或者关于它的任何内容。然而,关于“下载和安装”的FreeTTS文档部分似乎很好,还有一个快速入门部分。IDE是Netbeans,应用程序文件是EAR(EJB+WAR),框架是jsf 1.2