source: spip-zone/_plugins_/mediaspip_player/trunk/modeles/audio.html

Last change on this file was 78708, checked in by kent1@…, 7 years ago

Oups (cc @denisb)

File size: 7.2 KB
Line 
1[(#REM)
2       
3        Modele html audio
4
5        Les paramètres possibles :
6        -* logo string : le chemin vers un logo spécifique
7        -* controls string "non" : N'affichera pas les controles si la valeur est non ou false
8        -* autoplay string "tout sauf non ou false"     : Le son se lira dès qu'elle le pourra si la valeur est autre que non ou false
9        -* autobuffer|preload string non|auto|metadata : La méthode de preload : auto chargera l'ensemble du son, metadatas s'arrêtera aux metadatas, non ne chargera rien
10        -* loop string "tout sauf non ou false" : Le son se lira en boucle
11        -* largeur int|% : La largeur par défaut (défaut 350), si valeur en %, % doit être indiqué (ex: 100%), sinon seul l'entier pour les px
12        -* hauteur int : La hauteur par défaut (défaut 40)
13        -* align string left|right|center : L'alignement par défaut
14        -* cookie_volume string oui : garde le volume dans un cookie pour tous les lecteurs
15        -* volume int : Un nombre de 0 à 100 correspondant le pourcentage
16        -* volume_bloque oui : si oui le niveau de volume restera bloqué
17        -* volume_slider_orientation string vertical|horizontal : l'orientation du slider de volume
18        -* muted oui : si oui le lecteur sera sur mute à l'initialisation
19        -* muted_bloque oui : si oui l'utilisateur ne peut switcher entre mute et unmute
20        -* boutons_caches string : liste de boutons séparés par des virgule (ex: fullscreen,loop,volume)
21        -* telecharger string "oui" : si oui affiche un lien de téléchargement
22
23]
24<BOUCLE_tous(DOCUMENTS types_documents){id_document=#ID}{tout}>
25#SET{hauteur,#ENV{hauteur,#HAUTEUR|sinon{40}}}
26#SET{largeur,#ENV{largeur,#LARGEUR|sinon{350}}}
27[(#GET{largeur}|=={0}|oui)#SET{largeur,350}]
28[(#ENV{largeur}
29        |et{#ENV{hauteur}|=={''}}
30        |et{#ENV{largeur}|match{%}|non}
31        |et{#HAUTEUR|>{0}}
32        |et{#LARGEUR|>{0}}
33        |et{#LARGEUR|>{#ENV{largeur}}}|oui)
34        #SET{ratio,#LARGEUR|div{#ENV{largeur}}}
35        #SET{hauteur,#HAUTEUR|div{#GET{ratio}}}
36][(#ENV{hauteur}
37        |et{#ENV{largeur}|=={''}}
38        |et{#ENV{hauteur}|match{%}|non}
39        |et{#HAUTEUR|!={0}}
40        |et{#LARGEUR|sinon{350}}
41        |et{[(#HAUTEUR|sinon{40}|>{#ENV{hauteur}})]}|oui)
42        [(#SET{ratio,[(#HAUTEUR|sinon{40}|div{#ENV{hauteur}})]})]
43        #SET{largeur,#LARGEUR|sinon{350}|div{#GET{ratio}}}
44]
45
46[(#GET{largeur}|match{%}|non)
47[(#LOGO_DOCUMENT{vignette}|extraire_attribut{width}|>{#GET{largeur}}|oui)
48        [(#SET{logo,[(#ENV{logo,#LOGO_DOCUMENT{vignette}|extraire_attribut{src}}|image_passe_partout{#GET{largeur},#GET{hauteur}}|image_recadre{#GET{largeur},#GET{hauteur}})]})]]
49[(#LOGO_DOCUMENT{vignette}|extraire_attribut{width}|>{#GET{largeur}}|non)
50        [(#SET{logo,[(#ENV{logo,[(#LOGO_DOCUMENT{vignette}|extraire_attribut{src})]}|balise_img)]})]]
51]
52[(#GET{largeur}|match{%}|oui)
53        [(#SET{logo,[(#ENV{logo,[(#LOGO_DOCUMENT{vignette}|extraire_attribut{src})]}|balise_img|inserer_attribut{style,'width:100%;height:auto;'})]})]
54]
55[(#GET{hauteur,0}|=={0}|oui)
56        #SET{hauteur,#GET{logo}|extraire_attribut{height}}
57        [(#GET{hauteur,0}|=={0}|oui)
58                #SET{hauteur,#CONFIG{mediaspip_player/hauteur_defaut_son,24}]
59]
60[(#SET{id_document_voir, [(#ID_DOCUMENT)_][(#VAL{0}|rand{100000})]})]
61
62#SET{variantes,#ARRAY}
63
64<BOUCLE_variantes(DOCUMENTS){mode=conversion}{objet=document}{id_objet=#ENV{id_document,#ENV{id}}}{statut==.*}>#SET{variantes,#GET{variantes}|push{#EXTENSION}}</BOUCLE_variantes>
65<div class='spip_document_#ID_DOCUMENT spip_documents[ spip_documents_(#ENV{align})] media audio'[
66        style='[(#ENV{align}|match{^(left|right)$}|?{' '})float:#ENV{align};] (#ENV{align,center}|=={center}|?{'',[(#GET{largeur}|match{%}|oui)width:#GET{largeur}]})']
67        id='media_#GET{id_document_voir}'>[
68        (#GET{logo})
69        ]<audio id="audio_[(#GET{id_document_voir})]"[(#ENV{controls,true}|in_array{#LISTE{false,non,none}}|non)
70                controls][(#ENV{autoplay,non}|in_array{#LISTE{false,non,none}}|non)
71                autoplay="autoplay"][
72                (#ENV{autobuffer,#ENV{preload,none}}|in_array{#LISTE{false,non,none}}|?{preload="none",[(#ENV{autobuffer,#ENV{preload,none}}|in_array{#LISTE{auto,none}}|?{[preload="(#ENV{autobuffer,#ENV{preload,none}})"],preload="metadata"})]})][(#ENV{loop,non}|in_array{#LISTE{false,non,none}}|non)
73                loop][
74                width="(#GET{largeur}|match{%}|?{'',#GET{largeur}})"]
75                style="[width:(#GET{largeur}|match{%}|?{#GET{largeur},[(#GET{largeur})px]});][height:(#ENV{hauteur,24})px]">
76                        <BOUCLE_ssdoc_mp3(DOCUMENTS){mode=conversion}{objet=document}{id_objet=#ENV{id_document,#ENV{id}}}{statut==.*}{extension = mp3}{tout}>
77                        [<source[ type='(#MIME_TYPE|trim)[; codecs="(#AUDIOCODECID)"]'] src="(#FICHIER|timestamp|url_absolue)" />]
78                        </BOUCLE_ssdoc_mp3>
79                        <BOUCLE_ssdoc(DOCUMENTS){mode=conversion}{objet=document}{id_objet=#ENV{id_document,#ENV{id}}}{statut==.*}{extension != mp3}{tout}>[<source type='[(#MIME_TYPE|=={audio/mp4a-latm}|?{'audio/mp4',#MIME_TYPE}|trim)][; codecs="(#AUDIOCODECID)"]' src="(#FICHIER|timestamp|url_absolue)" />]</BOUCLE_ssdoc>
80                        [(#EXTENSION|in_array{#LISTE{ogg,oga,weba,mp3,webm,weba,aac,wav,m4a,mp4,3gp}}|et{#EXTENSION|in_array{#GET{variantes}}|non}|oui)[<source type='[(#MIME_TYPE|=={audio/mp4a-latm}|?{audio/mp4,#MIME_TYPE}|trim)][; codecs="(#AUDIOCODECID)"]' src="(#FICHIER|timestamp|url_absolue)" />]]
81                        [(#EXTENSION|in_array{#LISTE{oga,ogg,flac}}|non)
82                        <object width='#GET{largeur}' height='#GET{hauteur}' type="#MIME_TYPE">
83                                [<param name='movie' value='(#FICHIER|timestamp|url_absolue)' />]
84                                [<param name='src' value='(#FICHIER|timestamp|url_absolue)' />]
85                                [(#ENV*|env_to_params)]
86                                <embed src='[(#FICHIER|timestamp|url_absolue)]' [(#ENV*|env_to_attributs)] width='#GET{largeur}' height='#GET{hauteur}'></embed>
87                        </object>]
88        </audio>
89        [(#ENV{infos}|=={non}|non)
90                [<div class='#EDIT{titre} spip_doc_titre'><strong>(#TITRE)</strong></div>]
91                [<div class='#EDIT{descriptif} spip_doc_descriptif'>(#DESCRIPTIF|PtoBR)[(#NOTES|PtoBR)]</div>]]
92        [(#ENV{telecharger,non}|=={oui}|oui)
93                <div class='spip_download'><a href="[(#URL_DOCUMENT|url_absolue)]" rel="enclosure"><:bouton_download:></a></div>]
94</div>
95<script type="text/javascript">
96(function($) {
97        var ms_player_init_[(#GET{id_document_voir})] = function(){
98                if(jQuery('#audio_[(#GET{id_document_voir})]').parent('.media_wrapper').size() == 0){
99                        jQuery('#audio_[(#GET{id_document_voir})]').ms_player_init({
100                                flowurl:'[(#CHEMIN{flash/flowplayer.swf}|url_absolue)]',[
101                                (#ENV{min_width}|oui)[minwidth : '(#ENV{min_width}|match{%}|?{null,#ENV{min_width}})',]][(#ENV{cookie_volume,#CONFIG{mediaspip_player/cookie_volume,non}}|=={oui}|oui)
102                                cookie_volume:true,][(#ENV{autoplay,#ENV{autostart,non}}|in_array{#LISTE{false,non,none}}|non)
103                                autoplay:true,][(#ENV{volume}|is_numeric|oui)
104                                volume:#ENV{volume},][(#ENV{volume_bloque}|=={oui}|oui)
105                                volume_bloque:true,][(#ENV{muted}|=={oui}|oui)
106                                muted:true,][(#ENV{muted_bloque}|=={oui}|oui)
107                                muted_bloque:true,][
108                                poster:"(#GET{logo}|extraire_attribut{src}|url_absolue)",][(#ENV{boutons_caches}|oui)
109                                boutons_caches:[(#ENV{boutons_caches}|explode{','}|json_encode)],][(#GET{largeur}|oui)[
110                                width:'(#ENV{align}|match{^(left|right)$}|et{#ENV{largeur}|match{%}}|?{100%,[(#ENV{largeur}|replace{px,''})]})',]
111                                ]volume_slider_orientation:'#ENV{volume_slider_orientation,#CONFIG{mediaspip_player/slider_volume_orientation,horizontal}}'
112                        });
113                }
114        }
115        $(function(){
116                ms_player_init_[(#GET{id_document_voir})]();
117                onAjaxLoad(function(){setTimeout(function(){ms_player_init_[(#GET{id_document_voir})]();},500)});
118        });
119})(jQuery);
120</script>
121</BOUCLE_tous>
122#FILTRE{trim}
Note: See TracBrowser for help on using the repository browser.