⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 freettsvoice.java

📁 这是java 开发的的免费语音播放插件,很值得学习参考!!!!!!!!!!!!111
💻 JAVA
字号:
/** * Copyright 2003 Sun Microsystems, Inc. *  * See the file "license.terms" for information on usage and * redistribution of this file, and for a DISCLAIMER OF ALL  * WARRANTIES. */package com.sun.speech.freetts.jsapi;import com.sun.speech.engine.synthesis.BaseVoice;import com.sun.speech.freetts.Validator;import com.sun.speech.freetts.ValidationException;/** * Extends the BaseVoice class to encapsulate FreeTTSSynthesizer specific data. */public class FreeTTSVoice extends BaseVoice {    private com.sun.speech.freetts.Voice freettsVoice;    private Validator validator;    /**     * Constructs a FreeTTSVoice     *     * @param freettsVoice the freetts voice     * @param validatorName the classname of the validator to use     */    public FreeTTSVoice(com.sun.speech.freetts.Voice freettsVoice,                        String validatorName) {        super(freettsVoice.getName()+Math.random(), freettsVoice.getName(),                genderToInt(freettsVoice.getGender()),                ageToInt(freettsVoice.getAge()), freettsVoice.getStyle(),                freettsVoice.getPitch(), freettsVoice.getPitchRange(),                freettsVoice.getRate(), freettsVoice.getVolume());	this.freettsVoice = freettsVoice;                if (validatorName != null) {            try {                Class clazz = Class.forName(validatorName);                validator = (Validator) clazz.newInstance();            } catch (ClassNotFoundException cnfe) {                cnfe.printStackTrace();            } catch (IllegalAccessException iae) {                iae.printStackTrace();            } catch (InstantiationException ie) {                ie.printStackTrace();            }        } else {            validator = null;        }    }    /**     * Convert a freetts gender to jsapi gender     *     * @param gender the freetts gender     *     * @return the jsapi gender     */    private static int genderToInt(com.sun.speech.freetts.Gender gender) {        if (gender == com.sun.speech.freetts.Gender.MALE) {            return javax.speech.synthesis.Voice.GENDER_MALE;        } else if (gender == com.sun.speech.freetts.Gender.FEMALE) {            return javax.speech.synthesis.Voice.GENDER_FEMALE;        } else if (gender == com.sun.speech.freetts.Gender.NEUTRAL) {            return javax.speech.synthesis.Voice.GENDER_NEUTRAL;        } else if (gender == com.sun.speech.freetts.Gender.DONT_CARE) {            return javax.speech.synthesis.Voice.GENDER_DONT_CARE;        } else {            throw new Error("jaspi does not have an equivalent to gender "                    + gender.toString());        }    }    /**     * Convert a freetts age to jsapi age     *     * @param age the freetts age     *     * @return the jsapi age     */    private static int ageToInt(com.sun.speech.freetts.Age age) {        if (age == com.sun.speech.freetts.Age.CHILD) {            return javax.speech.synthesis.Voice.AGE_CHILD;        } else if (age == com.sun.speech.freetts.Age.TEENAGER) {            return javax.speech.synthesis.Voice.AGE_TEENAGER;        } else if (age == com.sun.speech.freetts.Age.YOUNGER_ADULT) {            return javax.speech.synthesis.Voice.AGE_YOUNGER_ADULT;        } else if (age == com.sun.speech.freetts.Age.MIDDLE_ADULT) {            return javax.speech.synthesis.Voice.AGE_MIDDLE_ADULT;        } else if (age == com.sun.speech.freetts.Age.OLDER_ADULT) {            return javax.speech.synthesis.Voice.AGE_OLDER_ADULT;        } else if (age == com.sun.speech.freetts.Age.NEUTRAL) {            return javax.speech.synthesis.Voice.AGE_NEUTRAL;        } else if (age == com.sun.speech.freetts.Age.DONT_CARE) {            return javax.speech.synthesis.Voice.AGE_DONT_CARE;        } else {            throw new Error("jaspi does not have an equivalent to age "                    + age.toString());        }     }    /**     * Gets the id for this voice.     * Should be unique for a synthesizer.     *     * @return the voice id     */    public String getId() {        return voiceId;    }    /**     * Gets a string representation of the object     *     * @return the name of this voice     */    public String toString() {	return getName();    }    /**     * Gets a FreeTTS com.sun.speech.freetts.Voice from this JSAPI voice     *     * @return a FreeTTS Voice or null, if the voice cannot be found     */    public synchronized com.sun.speech.freetts.Voice getVoice() {        return freettsVoice;    }    /**     * Sets the id for this voice.     *     * @param id the new id     */    public void setId(String id) {        voiceId = id;    }    /**     * Creates a copy of this <code>BaseVoice</code>.     *     * @return the cloned object     */    public Object clone() {        return super.clone();    }    /**     * Validates this FreeTTSVoice.     *     * @throws ValidationException if this FreeTTSVoice is invalid     */    public void validate() throws ValidationException {        if (validator != null) {            validator.validate();        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -