• User

    Database e sintetizzatore vocale

    Salve .......

    Qualcuno di voi conosce un modo per far riprodurre una frase appena recuperata con un database ( uso PHP 5.2.1 , MYSQL 5.0 , Apache 2.2 ) facendola leggere in automatico a un sintetizzatore vocale , ad esempio silvia , possibilmente da realizzare in php .
    Mi interesserebbe far riprodurre anche un suono ( wav oppure mp3 ) .

    :mmm:


  • User

    Ci sarebbe php voice

    Mi sembra comunque di aver capito che funziona soltanto dal lato server

    qualcuno di voi sa se e possibile usarlo sul client quindi in locale ?


  • User

    Ok cambiamo sistema ho creato un nuovo database per le prove aggiungendo il campo per l'audio di tipo VARCHAR

    come valore al suo interno ho provato a inserire il percorso in questi due modi diversi :

    prima

    london.mp3 ( questo file si trova nella cartella dei file php del database )

    e su un'altro

    c:\brani\london.mp3 ( questo naturalmente e collocato in un'altra directory per vedere se cambia qualcosa )

    Quale dei due valori e corretto ?

    Digitando il titolo nel Form di ricerca questa va a buon fine e restituisce il risultato
    MA PER QUANTO RIGUARDA L'AUDIO NIENTE DA FARE NON FUNZIONA , come dovrei operare quindi affinchè venga riprodotto in automatico ?

    dovrei usare fopen ?

    Questa e la modifica che ho apportato alla riga echo :

    [php]
    echo "<a>&nbsp" .date("",$row['data']) . "&nbsp {$row['testo']} {$row['audio']}</a><br>";
    [/php]


  • User Attivo

    Ciao,
    per riprodurre l'audio ha bisogno di un <embed> del file mp3 oppure di inviare l'mp3 ad un player, ad esempio player in flash.
    La riga di codice che hai ripostato inserisce un quasi-link che non punta a nulla. Non è ben chiaro cosa hai cercato di fare...

    Alessandro


  • User

    Ok Alessandro il problema è stato risolto con un player audio

    Adesso mi rimane soltanto una cosa da risolvere , ed e alquanto strana , in pratica se l'utente
    digita un titolo che non è presente nel database , questi dovrebbe restituire un messaggio del tipo : Titolo non presente ... ecc ...

    Io ho fatto in questo modo :

    [php]
    $query = "SELECT id, testo, data FROM news WHERE " . $query;
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))
    {
    if ($parola = "!=")
    die ("Spiacente titolo non presente");
    [/php]

    Ho provato anche in questo modo , ma non va

    [php]
    if ($parola == FALSE)
    die ("Spiacente titolo non presente");
    [/php]

    Allora ho fatto così ma non vuole saperne

    [php]
    if ($query == FALSE)
    die ("Spiacente titolo non presente");
    [/php]

    La logica credo dovrebbe essere questa : se il titolo non è presente nel database restituisci questo messaggio .....

    Dov'è che sbaglio ?

    Grazie per l'interesse mostrato !!

    :gthi:


  • User Attivo

    Ciao,
    hai inserito ulteriori controlli all'interno di un ciclo while che verifica già di suo la presenza o meno di risultati per la query eseguita.
    Se il titolo non è presente, ovvero non sono stati trovati risultati, il ciclo non viene eseguito, quindi nemmeno i controlli che hai messo all'interno.

    Puoi verificare se sono stati trovati risultati, ad esempio, in questo modo:
    [PHP]
    $query = "SELECT id, testo, data FROM news WHERE " . $query;
    $result = mysql_query($query, $db);
    if (mysql_num_rows($result)==0) {
    //Nessun dato trovato.
    }
    else
    while ($row = mysql_fetch_array($result))
    {
    ...
    [/PHP]

    Alessandro


  • User

    Ho aggiunto il tuo codice ma se digito un titolo che non e presente nel database non mi restituisce il messaggio Nessun dato trovato

    :mmm:

    Grazie per l'interesse mostrato !


  • User

    Ti chiedo scusa il tuo codice era leggero e corretto mi bastava aggiungere

    die ("Nessun titolo presente , bla bla bla "); dopo if

    Adesso si che funziona !!

    Un'ultima cosa :

    Supponiamo che l'utente digiti nel Form di ricerca un titolo e dopo lo ripete
    e possibile aggiungere un messaggio del tipo :

    Hai già ricercato questo titolo...

    e a seguire visualizza comunque il testo ?

    Ti meriti un Grazie mille !!!!!

    :gthi:


  • User Attivo

    Ciao,
    per il messaggio avevo messo solo un commento, non sapendo cosa volessi fare nel caso di titolo non trovato 😉

    Per poter segnalare all'utente che ha già fatto quella ricerca, dovresti in qualche modo conservare uno storico delle ricerche fatte da quell'utente. Memorizzandole su db o gestirle tramite cookies o variabili di sessione, dipende da cosa vuoi fare di preciso.

    Alessandro


  • User

    Ok ti ringrazio per l'aiuto , per il codice , e per i consigli che mi hai dato

    Cominciavo a dare i numeri , avevo perso completamente il filo ........

    Meno male che esistono persone disposte ad aiutare !

    Ancora Mille Grazie !!!!!!!!!! :yuppi: :yuppi: :yuppi: :yuppi: :yuppi: :yuppi:

    Ciao Alessandro

    :ciauz: