Dotclear


Ignore:
Timestamp:
11/06/14 09:55:37 (11 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

HTML5 audio and video basic support (further improvements should coming next)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • inc/core/class.dc.media.php

    r2763 r2767  
    10511051 
    10521052     /** 
     1053     Returns HTML code for audio player (HTML5 and if possible fallback Flash player) 
     1054 
     1055     @param  type   <b>string</b>       audio mime type 
     1056     @param    url       <b>string</b>       audio URL to play 
     1057     @param    player    <b>string</b>       Player URL (flash player fallback) 
     1058     @param    args <b>array</b>        Player parameters (flash player fallback) 
     1059     @return   <b>string</b> 
     1060     */ 
     1061     public static function audioPlayer($type,$url,$player=null,$args=null) 
     1062     { 
     1063          $audio = 
     1064               '<audio controls preload="auto">'."\n". 
     1065               '<source src="'.$url.'">'."\n"; 
     1066 
     1067          if ($type == 'audio/mpeg3') { 
     1068               // Include Flash player fallback 
     1069               if (!$player) { 
     1070                    $player = 'player_mp3.swf'; 
     1071               } 
     1072 
     1073               if (!is_array($args)) 
     1074               { 
     1075                    $args = array( 
     1076                         'showvolume' => 1, 
     1077                         'loadingcolor' => 'ff9900', 
     1078                         'bgcolor1' => 'eeeeee', 
     1079                         'bgcolor2' => 'cccccc', 
     1080                         'buttoncolor' => '0066cc', 
     1081                         'buttonovercolor' => 'ff9900', 
     1082                         'slidercolor1' => 'cccccc', 
     1083                         'slidercolor2' => '999999', 
     1084                         'sliderovercolor' => '0066cc' 
     1085                    ); 
     1086               } 
     1087 
     1088               $args['mp3'] = $url; 
     1089 
     1090               if (empty($args['width'])) { 
     1091                    $args['width'] = 200; 
     1092               } 
     1093               if (empty($args['height'])) { 
     1094                    $args['height'] = 20; 
     1095               } 
     1096 
     1097               $vars = array(); 
     1098               foreach ($args as $k => $v) { 
     1099                    $vars[] = $k.'='.$v; 
     1100               } 
     1101 
     1102               $audio .= 
     1103                    '<object type="application/x-shockwave-flash" '. 
     1104                    'data="'.$player.'" '. 
     1105                    'width="'.$args['width'].'" height="'.$args['height'].'">'. 
     1106                    '<param name="movie" value="'.$player.'" />'. 
     1107                    '<param name="wmode" value="transparent" />'. 
     1108                    '<param name="FlashVars" value="'.implode('&amp;',$vars).'" />'. 
     1109                    __('Embedded Audio Player'). 
     1110                    '</object>'."\n"; 
     1111          } 
     1112 
     1113          $audio .= 
     1114               '</audio>'."\n"; 
     1115 
     1116          return $audio; 
     1117     } 
     1118 
     1119     /** 
     1120     Returns HTML code for video player (HTML5 and if possible fallback Flash player) 
     1121 
     1122     @param  type   <b>string</b>       video mime type 
     1123     @param    url       <b>string</b>       video URL to play 
     1124     @param    player    <b>string</b>       Player URL (flash player fallback) 
     1125     @param    args <b>array</b>        Player parameters (flash player fallback) 
     1126     @return   <b>string</b> 
     1127     */ 
     1128     public static function videoPlayer($type,$url,$player=null,$args=null) 
     1129     { 
     1130          $video = ''; 
     1131          if ($type != 'video/x-flv') { 
     1132               $video = 
     1133                    '<video controls preload="auto">'."\n". 
     1134                    '<source src="'.$url.'">'."\n"; 
     1135          } 
     1136 
     1137          if ($type == 'video/x-flv' || $type == 'video/mp4' || $type == 'video/x-m4v') 
     1138          { 
     1139               // Include Flash player fallback 
     1140               if (!$player) { 
     1141                    $player = 'player_flv.swf'; 
     1142               } 
     1143 
     1144               if (!is_array($args)) 
     1145               { 
     1146                    $args = array( 
     1147                         'margin' => 1, 
     1148                         'showvolume' => 1, 
     1149                         'showtime' => 1, 
     1150                         'showfullscreen' => 1, 
     1151                         'buttonovercolor' => 'ff9900', 
     1152                         'slidercolor1' => 'cccccc', 
     1153                         'slidercolor2' => '999999', 
     1154                         'sliderovercolor' => '0066cc' 
     1155                    ); 
     1156               } 
     1157 
     1158               $args['flv'] = $url; 
     1159 
     1160               if (empty($args['width'])) { 
     1161                    $args['width'] = 400; 
     1162               } 
     1163               if (empty($args['height'])) { 
     1164                    $args['height'] = 300; 
     1165               } 
     1166 
     1167               $vars = array(); 
     1168               foreach ($args as $k => $v) { 
     1169                    $vars[] = $k.'='.$v; 
     1170               } 
     1171 
     1172               $video .= 
     1173                    '<object type="application/x-shockwave-flash" '. 
     1174                    'data="'.$player.'" '. 
     1175                    'width="'.$args['width'].'" height="'.$args['height'].'">'. 
     1176                    '<param name="movie" value="'.$player.'" />'. 
     1177                    '<param name="wmode" value="transparent" />'. 
     1178                    '<param name="allowFullScreen" value="true" />'. 
     1179                    '<param name="FlashVars" value="'.implode('&amp;',$vars).'" />'. 
     1180                    __('Embedded Video Player'). 
     1181                    '</object>'."\n"; 
     1182          } 
     1183 
     1184          if ($type != 'video/x-flv') { 
     1185               $video .= 
     1186                    '</video>'."\n"; 
     1187          } 
     1188 
     1189          return $video; 
     1190     } 
     1191 
     1192     /** 
    10531193     Returns HTML code for MP3 player 
    10541194 
     
    11071247     } 
    11081248 
     1249     /** 
     1250     Returns HTML code for FLV player 
     1251 
     1252     @param    url       <b>string</b>       FLV URL to play 
     1253     @param    player    <b>string</b>       Player URL 
     1254     @param    args      <b>array</b>        Player parameters 
     1255     @return   <b>string</b> 
     1256     */ 
    11091257     public static function flvplayer($url,$player=null,$args=null) 
    11101258     { 
Note: See TracChangeset for help on using the changeset viewer.

Sites map