Ciao ragazzi, sto implementando una pagina che permette di fare il text-to-speech di un testo. Fin qui nessun problema perchè riesco ad ottenere il text-to-speech del testo che ho inserito. Il problema nasce dal fatto che il file audio che viene generato mi viene eseguito non nella pagina principale della mia applicazione, ma in una nuova pagina, dove compare il player che esegue il file. dove sbaglio? Questo è il codice che ho inizialmente implementato senza l'uso del tag <audio>:
Codice PHP:
function curlRequest($url, $authHeader){
//Initialize the Curl Session.
$ch = curl_init();
//Set the Curl url.
curl_setopt ($ch, CURLOPT_URL, $url);
//Set the HTTP HEADER Fields.
curl_setopt ($ch, CURLOPT_HTTPHEADER, array($authHeader));
//CURLOPT_RETURNTRANSFER- TRUE to return the transfer as a string of the return value of curl_exec().
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);
//CURLOPT_SSL_VERIFYPEER- Set FALSE to stop cURL from verifying the peer's certificate.
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, False);
//Execute the cURL session.
$curlResponse = curl_exec($ch);
//Get the Error Code returned by Curl.
$curlErrno = curl_errno($ch);
if ($curlErrno) {
$curlError = curl_error($ch);
throw new Exception($curlError);
}
//Close a cURL session.
curl_close($ch);
return $curlResponse;
}
script in cui viene generato il file audio
$inputStr = "Welcome";
$language = 'en';
$params = "text=$inputStr&language=$language&format=audio/mp3";
$url = "http://api.microsofttranslator.com/V2/Http.svc/Speak?$params";
header('Content-Type: audio/mp3');
$translatorObj = new HTTPTranslator();
$strResponse = $translatorObj->curlRequest($url, $authHeader);
echo $strResponse;
eseguendo questo codice (le variabili prese dal form vengono prese tramite metodo GET, in questo caso le ho messe direttamente nello script), come detto precedentemente, mi esegue il file su una nuova pagina (che non è la principale).
Spero che sia chiaro il mio problema. grazie a chiunque mi risponda.