|
| Idée pour éviter le TTLIVE | |
|
+4jbx028 Pitoo Hunta_de_la_Radieuse jelmer 8 participants | Auteur | Message |
---|
jelmer Lapin nain
Age : 52 Localisation : Pays-Bas Nabaztag : Sjaak van Buren Nbr de messages : 20 Carottes : 5793
| Sujet: Idée pour éviter le TTLIVE Jeu 12 Mar 2009 - 12:02 | |
| Bonjour, Le paramètre TTLIVE ne marche pas encore. Cela est une problème pour beaucoup de applications (meteo, RSS etc) parce que tout ce que le lapin dit (avec tss) est une 'message', avec un nez clignotant etc. J'ai une idée pour éviter le TTLIVE. On utilise le " preview" api (action=1). Dans la réponse, il y a une paramètre pour le joueur flash. On pourrait découvrir une relation fixe entre ce paramètre et le url du stream qu'a fait le API pour ce preview.... Et puis, on pourrait utiliser le stream api (pour tagtag) et joue ce stream sur le nab? Ca va chémar? (hmm, c'est inhabituel que un non-français emploie de l'argot.. C'est un texte de GCM, voila). Jelmer | |
| | | Hunta_de_la_Radieuse Frénétik Nabaztrice
Age : 49 Localisation : Anse Lapin Nabaztag : Hunta (v2) Nbr de messages : 3832 Carottes : 6599
| Sujet: Re: Idée pour éviter le TTLIVE Jeu 12 Mar 2009 - 12:07 | |
| Hello (re) GCM ? Grand Corps Malade ! C'est du verlan. Allez hop, je teste pour comprendre ! EDIT : arf... en fait, je ne comprends pô... :/ | |
| | | Pitoo Nabz Junior
Age : 47 Localisation : France Nbr de messages : 61 Carottes : 5772
| Sujet: Re: Idée pour éviter le TTLIVE Jeu 12 Mar 2009 - 14:27 | |
| rien capté moi ! mais je suis bien emm... avec cette TTLIve alors si vous avez le décodeur pour la solution proposée..... | |
| | | jelmer Lapin nain
Age : 52 Localisation : Pays-Bas Nabaztag : Sjaak van Buren Nbr de messages : 20 Carottes : 5793
| Sujet: Re: Idée pour éviter le TTLIVE Jeu 12 Mar 2009 - 14:46 | |
| Trouvé! Donc, tapez qqc come: http://api.nabaztag.com/vl/FR/api.jsp?sn=SERIAL&token=TOKEN&tts=hallo+daar&voice=NL-Max&action=1 Le réponse est une page XML comme ça: - Code:
-
<?xml version="1.0" encoding="UTF-8"?><rsp><message>LINKPREVIEW</message><comment><embed id="mymovie" width="135" height="135" type="application/x-shockwave-flash" src="http://my.nabaztag.com/vl/include_flash/CDLEditor.swf" name="mymovie" quality="high" flashvars="cdll=long,3,none,broad/325/212/989/73396105.mp3"/></comment></rsp>
Dans le paramètre flashvars il y une url broad/../../../..mp3. C'est différent chaque fois. prenez cet url en tape http://r.nabaztag.com/broad/..... et voila. Puis pour jouer sur le lapin: http://api.nabaztag.com/vl/FR/api_stream.jsp?sn=SERIAL&token=TOKEN&urlList=http://r.nabaztag.com/broad/001/728/074/595/73395351.mp3 Ca va marcher (pas de verlan). J'écris quelque chose bientôt! EDIT: Ça marche!! | |
| | | Pitoo Nabz Junior
Age : 47 Localisation : France Nbr de messages : 61 Carottes : 5772
| Sujet: Re: Idée pour éviter le TTLIVE Jeu 12 Mar 2009 - 14:56 | |
| a yé j'ai compris trop compliquer pour moi ! | |
| | | Hunta_de_la_Radieuse Frénétik Nabaztrice
Age : 49 Localisation : Anse Lapin Nabaztag : Hunta (v2) Nbr de messages : 3832 Carottes : 6599
| Sujet: Re: Idée pour éviter le TTLIVE Jeu 12 Mar 2009 - 15:56 | |
| Effectivement ! Ça fonctionne aussi pour le tts ! Et ça semble simple à récupérer ! Excellente idée et merci beaucoup pour l'information Jelmer ! | |
| | | Pitoo Nabz Junior
Age : 47 Localisation : France Nbr de messages : 61 Carottes : 5772
| Sujet: Re: Idée pour éviter le TTLIVE Mer 18 Mar 2009 - 15:36 | |
| Bon j'ai craqué et implémenté ta technique, marche parfaitement merci jelmer | |
| | | jbx028 Gold Nabz
Localisation : Dans le sept huit Nabaztag : Rosie (v1), NoFutur Tag/tag (v2), et Nabaztag mon Karotz..... Nbr de messages : 677 Carottes : 7135
| Sujet: Re: Idée pour éviter le TTLIVE Mer 18 Mar 2009 - 16:55 | |
| Paradoxe de l'informatique...avoir à faire 2 appels d'une api pour éviter la persistance d'une seule instance.... | |
| | | Pitoo Nabz Junior
Age : 47 Localisation : France Nbr de messages : 61 Carottes : 5772
| Sujet: Re: Idée pour éviter le TTLIVE Jeu 19 Mar 2009 - 11:26 | |
| rectification, cela ne fonctionne pas pour moi j'arrive bien à extraire une URL de type http://r.nabaztag.com/broad/001/478/356/017/75121069.mp3 avec le message en tts
mon script appel alors l'api avec un truc dans le genre http://api.nabaztag.com/vl/FR/api.jsp?token=xxxx&sn=xxx&urllist=http://r.nabaztag.com/broad/001/478/356/017/75121069.mp3
et là ... rien pas de réponse de l'API, rien
ne fonctionne pas avec mon script appelé par le call URL et ne fonctionne pas en tapant dans le navigateur l'URL directement....
j'ai raté un truc ?
l'API et l'appel à URLlist est en forme en ce moment ?
cela fonctionne chez vous?
Merciiiiiiiiiii | |
| | | jelmer Lapin nain
Age : 52 Localisation : Pays-Bas Nabaztag : Sjaak van Buren Nbr de messages : 20 Carottes : 5793
| Sujet: Re: Idée pour éviter le TTLIVE Jeu 19 Mar 2009 - 11:33 | |
| C'est pas api.jsp, mais api_stream.jsp... | |
| | | Diaoul Bronze Nabz
Age : 37 Localisation : France Nabaztag : Patapwet Nbr de messages : 221 Carottes : 6056
| Sujet: Re: Idée pour éviter le TTLIVE Jeu 19 Mar 2009 - 12:14 | |
| J'ai compris, pas bête du tout ^^ Il faudrait envoyer un mail à Violet pour leur demander une option pour supprimer cette "preview". Là c'est un peu bricolage ^^ mais cependant super utile | |
| | | Pitoo Nabz Junior
Age : 47 Localisation : France Nbr de messages : 61 Carottes : 5772
| Sujet: Re: Idée pour éviter le TTLIVE Jeu 19 Mar 2009 - 13:01 | |
| Roooooooooooooo la boulette ! api_stream.jsp !!!
merci Jelmer ! | |
| | | max95 Nabz Junior
Age : 46 Localisation : La Celle St Cloud Nabaztag : Fuin Nbr de messages : 59 Carottes : 5830
| Sujet: Re: Idée pour éviter le TTLIVE Ven 27 Mar 2009 - 18:18 | |
| Si vous en avez besoin qu'une seule fois - Code:
-
<?php
$url = 'http://api.nabaztag.com/vl/FR/api.jsp?token=$TOKEN&sn=$SERIAL&tts=ici+le+texte+que vous+voulezt&action=1'; $retour = file_get_contents("$url");
$toreplace1 = 'broad'; //Chaîne à remplacer $remplacement1 = '|'; //Chaîne de remplacement $retour = str_replace($toreplace1, $remplacement1, $retour);
$toreplace2 = '.mp3'; //Chaîne à remplacer $remplacement2 = '|'; //Chaîne de remplacement $retour = str_replace($toreplace2, $remplacement2, $retour);
list($temp1, $adresse) = explode("|",$retour); ?><br/><?php echo "$adresse"; ?><br/><?php
$url = "http://api.nabaztag.com/vl/FR/api_stream.jsp?token=$TOKEN&sn=$ESRIAL&urlList=http://r.nabaztag.com/broad$adresse.mp3"; echo $url; $retour = file_get_contents("$url"); echo $retour; Si vous en avez besoin plusieurs fois, voici la version "fonction': - Code:
-
<?php function NomDeLaFonction($textedulapin, $serial, $token) { //------------------------------ // Envoi de "$textelapin" en streaming (pas de message) //------------------------------ echo "Envoi en streaming de la phrase '$textedulapin'";?><br/><?php $url = "http://api.nabaztag.com/vl/FR/api.jsp?token=$token&sn=$serial&tts=$textedulapin&action=1"; $retour = file_get_contents("$url");//Récupération du texte au format XML pour traitement echo $retour;?><br/><?php $toreplace1 = 'broad'; //Chaîne à remplacer $remplacement1 = '|'; //Chaîne de remplacement $retour = str_replace($toreplace1, $remplacement1, $retour);
$toreplace2 = '.mp3'; //Chaîne à remplacer $remplacement2 = '|'; //Chaîne de remplacement $retour = str_replace($toreplace2, $remplacement2, $retour);
$toreplace5 = '<?xml version="1.0" encoding="UTF-8"?>'; //Chaîne à remplacer $remplacement4 = 'a'; //Chaîne de remplacement $retour = str_replace($toreplace5, $remplacement5, $retour);
list($temp1, $reponse) = explode("|",$retour);//Extraction de la partie interessante echo $reponse;?><br/><?php $url = "http://api.nabaztag.com/vl/FR/api_stream.jsp?token=$token&sn=$serial&urlList=http://r.nabaztag.com/broad$reponse.mp3"; echo $url;?><br/><?php $retour = file_get_contents("$url"); echo $retour;?><br/><?php } Je n'ai jamais aimé la simplicité pour récupérer une chaine, il doit y avoir beaucoup plus simple Sinon un truc marrant (j'ai un humour un peu bizarre). Apparement l'adresse temporaire ne peu servir qu'une seul fois. Quand je testais sur mon navigateur internet, Le PC me donnait une phrase et mon lapin la deuxième (ou l'inverse). Mais à aucun moment l'un des deux (lapin ou PC) ne m'a donné les deux phrases. J'ai aussi rencontré des problèmes en mettant plusieurs phrase à dire les unes derrière les autres. Le lapinou avait tendance à en oublier certaines (contrairement au PC) | |
| | | Hunta_de_la_Radieuse Frénétik Nabaztrice
Age : 49 Localisation : Anse Lapin Nabaztag : Hunta (v2) Nbr de messages : 3832 Carottes : 6599
| Sujet: Re: Idée pour éviter le TTLIVE Mar 31 Mar 2009 - 13:56 | |
| Variante avec regexp (sans doute largement améliorable) : - Code:
-
function zcr_jelmers_send($zcr_id, $tts, $voice='') { $base_url = "http://api.violet.net/vl/FR/"; $clean_tts = urlencode(str_replace("\\", "", str_replace(" ", "+", stripslashes(trim($tts))))); $clean_voice = stripslashes(trim($voice)); $prev_msg = file_get_contents($base_url . "api.jsp?" . $zcr_id . "&voice=" . $clean_voice . "&tts=" . $clean_tts . "&action=1");
if (preg_match("/broad\/.+\.mp3/", $prev_msg, $location)) { sleep(5); //recommandé pour éviter les embouteillages echo ($base_url . "api_stream.jsp?" . $zcr_id . "&urlList=http://broad.violet.net/" . $location[0]); //readfile($base_url . "api_stream.jsp?" . $zcr_id . "&urlList=http://broad.violet.net/" . $location[0]); } else { exit($prev_msg); } }
Dans cet exemple, - Code:
-
$zcr_id = "token=" .$token . "&sn=" . $sn; Cette fonction (comme d'autres*...) est accessible pour tout développement sur http://zcripts.com avec un simple 'include' Vi... Vu qu'on essaie de simplifier la vie des gentils développeurs...Donc... Viendez développer avec nous ! Bidiou !*comme par exemple : analyse de la requête brute et récupération de l'ID, vérification de l'existence du lapin, envoi tts simple, stream simple, gestion des voix, etc. | |
| | | FlorentBL Bronze Nabz
Age : 54 Localisation : Paris Nbr de messages : 117 Carottes : 5878
| Sujet: Re: Idée pour éviter le TTLIVE Sam 4 Avr 2009 - 23:55 | |
| - Hunta_de_la_Radieuse a écrit:
Donc... Viendez développer avec nous ! Bidiou !
*comme par exemple : analyse de la requête brute et récupération de l'ID, vérification de l'existence du lapin, envoi tts simple, stream simple, gestion des voix, etc. J'suis partant, mais sur mon compte zcripts.com je ne vois pô grand chose... | |
| | | Phabbrrysse Nabazteur Voyageur
Age : 38 Localisation : Sassenage Nabaztag : PhormiBBrrysse et Pharramyneu (V2) Nbr de messages : 14389 Carottes : 13331
| Sujet: Re: Idée pour éviter le TTLIVE Dim 5 Avr 2009 - 0:41 | |
| - FlorentBL a écrit:
- Hunta_de_la_Radieuse a écrit:
Donc... Viendez développer avec nous ! Bidiou !
*comme par exemple : analyse de la requête brute et récupération de l'ID, vérification de l'existence du lapin, envoi tts simple, stream simple, gestion des voix, etc. J'suis partant, mais sur mon compte zcripts.com je ne vois pô grand chose... On ne dev pas via zcripts qui sert pour le moment que de dépot ! Contacte nous par gtalk/msn ! _____________________________ Connexion du lapin difficile : ICI -- PAS D'AIDE PAR MP NI PAR MAIL | |
| | | jelmer Lapin nain
Age : 52 Localisation : Pays-Bas Nabaztag : Sjaak van Buren Nbr de messages : 20 Carottes : 5793
| Sujet: Re: Idée pour éviter le TTLIVE Jeu 9 Avr 2009 - 0:10 | |
| Hallo à tous! Ma version de 'say_once', qui utilise les classes PEAR en mon propre class class_nab.php que j'ai déja envoyé. C'est avec simplexml et un peut de pause. Jelmer - Code:
-
//parler sans ttlive //utilise le api 'preview' et celui pour les streams //les options include maintenant seulement: voice //les transactions ne fonctionne pas avec cette function public function say_once($message, $options = array()) { //ajouter les defaults pour les options $options = array_merge( array('voice' => $this->defaultVoice), $options);
//alors: faire produire la version mp3 du texte. //on utilise pas apiRequest(save) du class, parce que on a besoin du xml cru //ne pas utilise &amp;, utilise &. cest pas bon, api! $url = $this->apiURL . "?sn=" . rawurlencode($this->serial) . "&token=" . rawurlencode($this->token) . "&tts=" . rawurlencode($message . ". , . , . , . , . , . , . , .") . //toujours un pauze pour bien terminer le tts "&voice=" . rawurlencode($options['voice']) . "&action=1"; //print $url; $apiResponse = @file_get_contents($url); if (! $apiResponse) return false;
$xml = new SimpleXMLElement($apiResponse); $flashvars = $xml->comment->embed['flashvars'][0]; if (! $flashvars) return false; //url de stream c'est la dernière partie if (! preg_match('/.*,(.*?)$/',$flashvars,$m)) return false; $stream = $m[1]; usleep(400000); //un peu de pauze $r = $this->play($this->previewURL . '/' . $stream); //previewUrl: "http://broad.violet.net/" }
| |
| | | Contenu sponsorisé
| Sujet: Re: Idée pour éviter le TTLIVE | |
| |
| | | | Idée pour éviter le TTLIVE | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |