Affichage automatique dans un player flash avec une variable ???

Par DayTech, il y a 10 ans


Bonjour,

Voila je rencontre un petit problème avec mon code :
J'aimerais que quand je clique sur l'image (par exemple) tf1,

Le player prenne directement le lien du flux tf1 qui est :

http://46.101.231.222/live/bzlCM2oycy9GVU1KM0FMQ3ZjdDErdXI5U2xiNEZzdXUzbFBKVzZWVURBbldaZXdlaW1BV1RRaG9rWHE1UzFRM3RKSmhnVWhqRVBOb1UvRjZBWFhDdDBjUFFwZ1MwbW9NWE1ONDU0dGRjdG1ET29qd3hlOVVic0JwQTlwN2tDQ0lFdjloVCtuZjkrdDRjcmZuSWxnYitTcXgybGEzWGl6UC9nSlRaK0hna0c0PQ.m3u

Ce que je fais

<param name="flashvars" value="src=$src_tele8&amp;streamType=live&amp;tintColor=#B91F1F&amp;autoPlay=true&amp;controlBarAutoHide=true&amp;controlBarPosition=bottom&amp;scaleMode=none&amp;controlBarAutoHideTimeout=5&amp;poster=http://oklivetv.com/xplay/swf/loading.gif&amp;plugin_hls=http://oklivetv.com/xplay/swf/flashlsOSMF.swf&amp;hls_minbufferlength=1&amp;hls_maxbufferlength=10&amp;hls_lowbufferlength=3&amp;hls_startfromlevel=-1&amp;hls_seekfromlevel=-1&amp;hls_seekmode=ACCURATE&amp;javascriptCallbackFunction=onJSBridge&amp;hls_startfromlowestlevel=false&amp;hls_seekfromlowestlevel=false&amp;hls_live_flushurlcache=true&amp;hls_info=true&amp;verbose=true&amp;hls_debug=true&amp;hls_debug2=true&amp;hls_warn=true&amp;hls_error=true&amp;hls_fragmentloadmaxretry=10&amp;hls_manifestloadmaxretry=5&amp;hls_maxlevelcappingmode=upscale&amp;hls_capleveltostage=false"></object>

Voici ma case $src_tele de tf1 :

<?php if(isset($_GET['television'])) { $television = $_GET['television']; switch($television){ case "tfun": $src_tele = " http://46.101.231.222/live/bzlCM2oycy9GVU1KM0FMQ3ZjdDErdXI5U2xiNEZzdXUzbFBKVzZWVURBbldaZXdlaW1BV1RRaG9rWHE1UzFRM3RKSmhnVWhqRVBOb1UvRjZBWFhDdDBjUFFwZ1MwbW9NWE1ONDU0dGRjdG1ET29qd3hlOVVic0JwQTlwN2tDQ0lFdjloVCtuZjkrdDRjcmZuSWxnYitTcXgybGEzWGl6UC9nSlRaK0hna0c0PQ.m3u "; //type="video/mp4" break; } } else { $src= ""; } ?>

Ce que je veux

Je veux que quand on clique sur l'image tf1, le player prenne automatiquement la valeur de $src_tele ....
Malheuresement, je bloque sur ce truc depuis une semaine !!!!!

Ce que j'obtiens

Je n'obtiens rien, aucune image à la télé.
Si j'enlève le $src_tele
et que je le remplace par le lien, ça fonctionne, je peut regarder la télé depuis mon site web (http://bb-info.fr)
[ La je travaille en locale pour la prochaine versions sans plus aucun problème, donc la tv n'est pas encore installé sur mon site)
Voici un screen :

Voilà, donc j'aimerais de l'aide svp, c'est (assez) urgent car il faut que je termine pour la mise en ligne sur le site.

En attendant une réponse de votre part,
Cordialement, DayTech. :D

30 réponses

Benjamin Derepas, il y a 10 ans

Bonjour,

Eu ...

<param name="flashvars" value="src=$src_tele8 ...

Si mes yeux sont bons, tu affiches ici une variable $src_tele hors des balises php .
Essais peut être :

<param name="flashvars" value="src=<php echo $src_tele8; ?> &amp .....
DayTech, il y a 10 ans

Salut, non ça ne fonctionne pas...

Benjamin Derepas, il y a 10 ans

ah ba zut alors

DayTech, il y a 10 ans
<param name="flashvars" value="src=<?php echo $src_tele; ?>8

Le 8 c'est un rajout, il n'est pas dans la variable car certains flux sont au format m3u8
Je l'ai enlever, je le rajoute aux liens de base avec le format m3u8

DayTech, il y a 10 ans

J'ai besoin du 8 pour faire fonctionner tous les flux donc je le laisse à part.
Fonctionne toujours pas avec la déclaration

<?php $src_tele; ?>
Benjamin Derepas, il y a 10 ans

<?php $src_tele; ?> ne va rien afficher. Sois tu mets un echo devant pour dire à php d'afficher le texte, sois tu utilises les short-tag : <?= $src_tele;?>

DayTech, il y a 10 ans

Ne fonctionne toujours pas...

<param name="flashvars" value="src=<?php echo $src_tele; ?>8&amp;streamType=live&amp;tintColor=#B91F1F&amp;autoPlay=true&amp;controlBarAutoHide=true&amp;controlBarPosition=bottom&amp;scaleMode=none&amp;controlBarAutoHideTimeout=5&amp;poster=http://oklivetv.com/xplay/swf/loading.gif&amp;plugin_hls=http://oklivetv.com/xplay/swf/flashlsOSMF.swf&amp;hls_minbufferlength=1&amp;hls_maxbufferlength=10&amp;hls_lowbufferlength=3&amp;hls_startfromlevel=-1&amp;hls_seekfromlevel=-1&amp;hls_seekmode=ACCURATE&amp;javascriptCallbackFunction=onJSBridge&amp;hls_startfromlowestlevel=false&amp;hls_seekfromlowestlevel=false&amp;hls_live_flushurlcache=true&amp;hls_info=true&amp;verbose=true&amp;hls_debug=true&amp;hls_debug2=true&amp;hls_warn=true&amp;hls_error=true&amp;hls_fragmentloadmaxretry=10&amp;hls_manifestloadmaxretry=5&amp;hls_maxlevelcappingmode=upscale&amp;hls_capleveltostage=false"></object> <?php if(isset($_GET['television'])) { $television = $_GET['television']; switch($television){ case "tfun": $src_tele = "http://46.101.231.222/live/bzlCM2oycy9GVU1KM0FMQ3ZjdDErdXI5U2xiNEZzdXUzbFBKVzZWVURBbldaZXdlaW1BV1RRaG9rWHE1UzFRM3RKSmhnVWhqRVBOb1UvRjZBWFhDdDBjUFFwZ1MwbW9NWE1ONDU0dGRjdG1ET29qd3hlOVVic0JwQTlwN2tDQ0lFdjloVCtuZjkrdDRjcmZuSWxnYitTcXgybGEzWGl6UC9nSlRaK0hna0c0PQ.m3u"; //type="video/m3u" break; } } else { $src= ""; } ?>
Benjamin Derepas, il y a 10 ans

Est ce que la console t'affiche une erreur ?

DayTech, il y a 10 ans

Non, il ne m'affiche pas d'erreur.

DayTech, il y a 10 ans

Je mettrais un lien join.me ce soir, je le partagerais pour qu'on m'aide.

Benjamin Derepas, il y a 10 ans

Fais nous un lien sur codeshare

DayTech, il y a 10 ans

Actuellement, je ne peut pas je suis au magasin.

DayTech, il y a 10 ans

UP, besoin d'aide svp

keulu, il y a 10 ans

ben déja, ton lien est mort. avec TF1, l'url du flux change trop souvent pour pouvoir le mettre sur un site. Seul les flux de france TV ne changent quasiment jamais. pour les autres (chaines privées) il y a un hash dans l'url qui va changer souvent selon un alogorythme et une clé privé que seul les possesseurs du flux connaissent....

ensuite, on te met a dispo un fichier m3u, et toi tu veux absolument appeler un m3u8. pas bien je pense...

quand on te donne un fichier .txt, t'essaye pas de l'appeler en .doc

ensuite essaye de faire ca

<?php echo $src_tele; ?> <param name="flashvars" value="src=<?php echo $src_tele; ?>8&amp;streamType=live&amp;tintColor=#B91F1F&amp;autoPlay=true&amp;controlBarAutoHide=true&amp;controlBarPosition=bottom&amp;scaleMode=none&amp;controlBarAutoHideTimeout=5&amp;poster=http://oklivetv.com/xplay/swf/loading.gif&amp;plugin_hls=http://oklivetv.com/xplay/swf/flashlsOSMF.swf&amp;hls_minbufferlength=1&amp;hls_maxbufferlength=10&amp;hls_lowbufferlength=3&amp;hls_startfromlevel=-1&amp;hls_seekfromlevel=-1&amp;hls_seekmode=ACCURATE&amp;javascriptCallbackFunction=onJSBridge&amp;hls_startfromlowestlevel=false&amp;hls_seekfromlowestlevel=false&amp;hls_live_flushurlcache=true&amp;hls_info=true&amp;verbose=true&amp;hls_debug=true&amp;hls_debug2=true&amp;hls_warn=true&amp;hls_error=true&amp;hls_fragmentloadmaxretry=10&amp;hls_manifestloadmaxretry=5&amp;hls_maxlevelcappingmode=upscale&amp;hls_capleveltostage=false"></object>

tu devrai voir l'url de ton flux au dessus de ton player

keulu, il y a 10 ans

ah... et tu ouvres une balise < param > et tu ferme sur < /object >... un souci la aussi non ???

DayTech, il y a 10 ans

Salut !
Oui, c'est bon j'ai fermé.
La déclaration de la variable
<?php echo $src_tele; ?>

ne m'affiche qu'une seule chose et c'est une erreur :
Notice: Undefined variable: src_tele in C:\xamp2\htdocs\contenu\tv.php on line 44

Lartak, il y a 10 ans

Bonjour.
La définition de l'erreur est pourtant simple, il est dit que la variable src_tele n'est pas définie, donc si tu dois avoir le paramètre television en get pour quelle soit définie, fais une condition pour ne pas afficher le script si elle n'est pas définie, car dans ta condition tu as mis :

if(isset($_GET['television']) { $television = $_GET['television']; switch ($television) { case 'tfun': $src_tele = ... ; break; } } else { $src = ""; }

Soit deux noms de variables différentes.

DayTech, il y a 10 ans

Euh, je suis débutant en php j'ai vraiment du mal avec ce que tu m'as dis...

keulu, il y a 10 ans

il dit que tu doit pas rentrer dans ton switch

case 'tfun':
$src_tele = ... ;

et dans ton else tu déclares $src = ""; et non pas $src_tele = "";

donc quand tu fait appel a $src_tele il te boule en te disant que cette variable est inconnu...

Lartak, il y a 10 ans

Dans ta condition tu lui dis que si le paramètre television passé en GET est bien présent, la fonction switch s'effectue en filtrant sa valeur et définit la variable src_tele, mais dans le cas contraire, tu définis une variable src avec du vide.
Ce qui fait deux noms de variables différents : src_tele et src.
Donc dans le cas ou le paramètre n'est pas passé, tu te retrouve a demander une variable qui n'est pas définie.
Il te faut donc soit corriger ce problème de différents nom de variable, soit lorsque tu demandes la variable src_tele faire une condition, par exemple :

<?php if(isset($src_tele)) { ?> <param name="flashvars" value="src=<?php echo $src_tele; ?>&amp;streamType=live&amp;tintColor=#B91F1F&amp;autoPlay=true&amp;controlBarAutoHide=true&amp;controlBarPosition=bottom&amp;scaleMode=none&amp;controlBarAutoHideTimeout=5&amp;poster=http://oklivetv.com/xplay/swf/loading.gif&amp;plugin_hls=http://oklivetv.com/xplay/swf/flashlsOSMF.swf&amp;hls_minbufferlength=1&amp;hls_maxbufferlength=10&amp;hls_lowbufferlength=3&amp;hls_startfromlevel=-1&amp;hls_seekfromlevel=-1&amp;hls_seekmode=ACCURATE&amp;javascriptCallbackFunction=onJSBridge&amp;hls_startfromlowestlevel=false&amp;hls_seekfromlowestlevel=false&amp;hls_live_flushurlcache=true&amp;hls_info=true&amp;verbose=true&amp;hls_debug=true&amp;hls_debug2=true&amp;hls_warn=true&amp;hls_error=true&amp;hls_fragmentloadmaxretry=10&amp;hls_manifestloadmaxretry=5&amp;hls_maxlevelcappingmode=upscale&amp;hls_capleveltostage=false"></param> <?php } else { ?> Il faut sélectionner une chaîne ! <?php } ?>

Ce n'est qu'un exemple bien sûr.

Lartak, il y a 10 ans

Bonjour, je n'y arrive toujours pas...

À la vue de ton code ce n'est pas étonnant, étant donné que les liens pour les chaines, au lieu de passer le nom de la chaîne en paramètre GET, ils renvoies sur des pages HTML.
Au lieu d'avoir :

<li><a href="tv-tfun.html"><img src="../im-tv/tf1.png" alt="TF1"></a></li>

Tu devrais avoir quelque chose du genre :

<li><a href="?television=tfun"><img src="../im-tv/tf1.png" alt="TF1"></a></li>

Comment veux-tu que ton script PHP puisse détecter un paramètre GET si tu ne le lui envoi jamais ?

DayTech, il y a 10 ans

Salut !
J'ai essayé mais le player ne prend pas la vidéo. J'ai réussi à avoir un lien de flux valide.
Ca ne fonctionne toujours pas mais ça aurait pu. Merci pour ton aide, je galère depuis lundi sur ce truc, j'aimerais vraiment le terminer.

Je vous remercie de m'aider et d'avoir la patience de répondre à mes questions.
Si vous avez d'autres idées de comment faire, je suis prenneur !

En attendant plus d'aide,
Cordialement, DayTech.

DayTech, il y a 10 ans

Ok, j'ai test avec ce que tu m'as dis mais encore & toujours non fonctionnel.
Voilà mon nouveau code avec les réponses de Lartak & keulu
http://collabedit.com/kss4w

keulu, il y a 10 ans

question con peut etre, mais c'est quoi l'extension de ton fichier ? parce que avant tu faisait appel à des fichiers html.

t'es vraiment sur de bien etre en php ?

keulu, il y a 10 ans

commente ton switch case pour l'instant

et au moment de faire un echo $src_tele ecrit :

<?php $src_tele = "http://bfmlive2-i.akamaihd.net/hls/live/214427/bfmtv/04.m3u8"; echo $src_tele; ?> <object>[...]</object>
DayTech, il y a 10 ans

Salut !
keulu, ce que tu m'as dis de faire ça fonctionne ! Mais justement, y'a pas un autre moyen que le switch case ?? ;)

J'ai regardé mon htaccess, j'ai vu que j'avais une case pour la page "radio"(http://www.bb-info.fr/radio.html), qui elle fonctionne correctement, voici mon contenu de mon htaccess

Mon but est de faire exactement pareil que pour la radio, mais afficher la télé !

RedirectPermanent /stats http://www.bb-info.fr/awstats/awstats.pl?config=www.bb-info.fr RewriteEngine On #RewriteBase / RewriteRule ([a-z]+)-([a-z]+)\.html$ /index.php?page=$1&station=$2 [L] RewriteRule ([a-z]+)\.html$ /index.php?page=$1 Options -Indexes

Peut-être que je devrais copier/coller la ligne

RewriteRule ([a-z]+)-([a-z]+)\.html$ /index.php?page=$1&station=$2 [L]

et remplacer par

RewriteRule ([a-z]+)-([a-z]+)\.html$ /index.php?page=$1&television=$3 [L]

????
Si ça vous aide...
Cordialement, DayTech

keulu, il y a 10 ans

ben ca c'est du routing
alors effectivement si t'as de regles de routage, il va falloir les coder.

([a-z]+)-([a-z]+).html$ /index.php?page=$1&station=$2 [L]

ca veux dire sur si tu appel radio-nrj.html ca va etre mappé a /index.php?page=radio&station=nrj

donc en gardant la meme route, tu peux très bien appeler la page

tv-tf1.html ce qui reviendra a appeler /index.php?page=tv&station=tf1

et au lieu de faire un switch sur $_GET['television'] tu le fait sur $_GET['station']

d'ailleur, TF1 ne va pas passer dans ta route, car le $2 n'accepte par les numéros.

bfm, franceo, arte -> oui
tf1, france2, france3 -> non
change pour [a-z0-9]

DayTech, il y a 10 ans

MILLE MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Tu as réussi à faire ce que je voulais depuis une semaine !
Encore une fois merci à toi !!!!!

Également, je tenais à remercie les autres membres qui ont essayer de m'aider, merci d'avoir été patient avec moi !!!!!

Encore une fois merci,
Cordialement, DayTech.