- Home
- Categorie
- Coding e Sistemistica
- Coding
- Database e sintetizzatore vocale
-
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 ) .
-
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 ?
-
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> " .date("",$row['data']) . "  {$row['testo']} {$row['audio']}</a><br>";
[/php]
-
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
-
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 !!
-
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
-
Ho aggiunto il tuo codice ma se digito un titolo che non e presente nel database non mi restituisce il messaggio Nessun dato trovato
Grazie per l'interesse mostrato !
-
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 !!!!!
-
Ciao,
per il messaggio avevo messo solo un commento, non sapendo cosa volessi fare nel caso di titolo non trovatoPer 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
-
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 !!!!!!!!!!
Ciao Alessandro