Visualizzazione dei risultati da 1 a 2 su 2

Discussione: java speech

  1. #1

    java speech

    ciao a tutti, stavo cercando di imparare a utilizzare le java speech per i miei scopi da programmatore XD il mio problema è che mi da un errore alla riga dove c è scritto synth.allocate(); l errore, è java.lang.NullPointerExtencion ....il punto è che quel metoto ovvero synth.allocate(); so che nn deve contenere parametri xchè è una funzione che ritorna a void....bo ....chissà se qualcuno può aiutarmi , xchè praticamente pochi programmatori le utilizzano queste api...

    import javax.speech.*;
    import javax.speech.synthesis.*;
    import java.util.Locale;
    public class HelloWorld {
    public static void main(String args[]) {
    try {
    // Create a synthesizer for English
    Synthesizer synth = Central.createSynthesizer(
    new SynthesizerModeDesc(Locale.ENGLISH));
    // Get it ready to speak
    synth.allocate();
    synth.resume();
    // Speak the "Hello world" string
    synth.speakPlainText("Hello, world!", null);
    // Wait till speaking is done
    synth.waitEngineState(Synthesizer.QUEUE_EMPTY);
    // Clean up
    synth.deallocate();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }

  2. #2
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    il mio problema è che mi da un errore alla riga dove c è scritto synth.allocate(); l errore, è java.lang.NullPointerExtencion
    Beh, in realtà sarà "NullPointerException", immagino

    .il punto è che quel metoto ovvero synth.allocate(); so che nn deve contenere parametri xchè è una funzione che ritorna a void
    Le due cose mica sono collegate! Se ritorna "void" (cioè, non ritorna nulla) non puoi mica dire che allora non deve ricevere niente come parametro! Nel caso specifico succede così, ma per il futuro sappi che la tua affermazione è - in generale - scorretta. Fai sempre riferimento alle API che trovi nella javadoc!

    Se l'errore è quello che mi hai segnalato, significa che l'oggetto synth è "null". E poichè tale oggetto ti viene restituito dal metodo Central.createSynthesizer() vuol dire che è lui il colpevole.
    Ho trovato la documentazione e te la posto:

    http://download.oracle.com/docs/cd/E...ngineModeDesc)

    Se leggi con attenzione vedrai che spiega il motivo per cui ti viene ritornato "null".

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.