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
<param name="flashvars" value="src=$src_tele8&streamType=live&tintColor=#B91F1F&autoPlay=true&controlBarAutoHide=true&controlBarPosition=bottom&scaleMode=none&controlBarAutoHideTimeout=5&poster=http://oklivetv.com/xplay/swf/loading.gif&plugin_hls=http://oklivetv.com/xplay/swf/flashlsOSMF.swf&hls_minbufferlength=1&hls_maxbufferlength=10&hls_lowbufferlength=3&hls_startfromlevel=-1&hls_seekfromlevel=-1&hls_seekmode=ACCURATE&javascriptCallbackFunction=onJSBridge&hls_startfromlowestlevel=false&hls_seekfromlowestlevel=false&hls_live_flushurlcache=true&hls_info=true&verbose=true&hls_debug=true&hls_debug2=true&hls_warn=true&hls_error=true&hls_fragmentloadmaxretry=10&hls_manifestloadmaxretry=5&hls_maxlevelcappingmode=upscale&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= "";
}
?>
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 !!!!!
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
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]
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; ?> & .....
<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
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; ?>
<?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;?>
Ne fonctionne toujours pas...
<param name="flashvars" value="src=<?php echo $src_tele; ?>8&streamType=live&tintColor=#B91F1F&autoPlay=true&controlBarAutoHide=true&controlBarPosition=bottom&scaleMode=none&controlBarAutoHideTimeout=5&poster=http://oklivetv.com/xplay/swf/loading.gif&plugin_hls=http://oklivetv.com/xplay/swf/flashlsOSMF.swf&hls_minbufferlength=1&hls_maxbufferlength=10&hls_lowbufferlength=3&hls_startfromlevel=-1&hls_seekfromlevel=-1&hls_seekmode=ACCURATE&javascriptCallbackFunction=onJSBridge&hls_startfromlowestlevel=false&hls_seekfromlowestlevel=false&hls_live_flushurlcache=true&hls_info=true&verbose=true&hls_debug=true&hls_debug2=true&hls_warn=true&hls_error=true&hls_fragmentloadmaxretry=10&hls_manifestloadmaxretry=5&hls_maxlevelcappingmode=upscale&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= "";
}
?>
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&streamType=live&tintColor=#B91F1F&autoPlay=true&controlBarAutoHide=true&controlBarPosition=bottom&scaleMode=none&controlBarAutoHideTimeout=5&poster=http://oklivetv.com/xplay/swf/loading.gif&plugin_hls=http://oklivetv.com/xplay/swf/flashlsOSMF.swf&hls_minbufferlength=1&hls_maxbufferlength=10&hls_lowbufferlength=3&hls_startfromlevel=-1&hls_seekfromlevel=-1&hls_seekmode=ACCURATE&javascriptCallbackFunction=onJSBridge&hls_startfromlowestlevel=false&hls_seekfromlowestlevel=false&hls_live_flushurlcache=true&hls_info=true&verbose=true&hls_debug=true&hls_debug2=true&hls_warn=true&hls_error=true&hls_fragmentloadmaxretry=10&hls_manifestloadmaxretry=5&hls_maxlevelcappingmode=upscale&hls_capleveltostage=false"></object>
tu devrai voir l'url de ton flux au dessus de ton player
ah... et tu ouvres une balise < param > et tu ferme sur < /object >... un souci la aussi non ???
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
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.
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...
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; ?>&streamType=live&tintColor=#B91F1F&autoPlay=true&controlBarAutoHide=true&controlBarPosition=bottom&scaleMode=none&controlBarAutoHideTimeout=5&poster=http://oklivetv.com/xplay/swf/loading.gif&plugin_hls=http://oklivetv.com/xplay/swf/flashlsOSMF.swf&hls_minbufferlength=1&hls_maxbufferlength=10&hls_lowbufferlength=3&hls_startfromlevel=-1&hls_seekfromlevel=-1&hls_seekmode=ACCURATE&javascriptCallbackFunction=onJSBridge&hls_startfromlowestlevel=false&hls_seekfromlowestlevel=false&hls_live_flushurlcache=true&hls_info=true&verbose=true&hls_debug=true&hls_debug2=true&hls_warn=true&hls_error=true&hls_fragmentloadmaxretry=10&hls_manifestloadmaxretry=5&hls_maxlevelcappingmode=upscale&hls_capleveltostage=false"></param>
<?php } else { ?>
Il faut sélectionner une chaîne !
<?php } ?>
Ce n'est qu'un exemple bien sûr.
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 ?
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.
alors attention, test avec ton flux BFM, parce que ton flux TF1 est mort...
et attention aussi
$src_tele = "
http://bfmlive2-i.akamaihd.net/hls/live/214427/bfmtv/04.m3u8
"
ET
$src_tele = "http://bfmlive2-i.akamaihd.net/hls/live/214427/bfmtv/04.m3u8";
c'est pas la meme chose...
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
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 ?
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>
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
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.