Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RyumaruWeb

Jwplayer com playlist personalizada com utilização de javascript

Recommended Posts

Olá estou tendo um pequeno problema na utilização do JWPlayer, estou querendo utilizar ele para montar uma playlist personalizada, eu estou adaptando essa playlist para funcionar em um tema de WordPress.

Ao invés de utilizar arquivos de vídeo para montar a listagem personalizada. Eu estou utilizando a lista de episódios contida no banco de dados.

Eu consegui fazer o modo playlist funcionar perfeitamente, mais o que eu necessito, é por os links das paginas dos episódios correspondentes, nas imagens correspondentes da playlist funcionem como links de página, utilizando as configurações de javascript do jwplayer.

De forma que quando o usuário clicar na imagem, abra a página do player na head do navegador. Como se fosse um link de pagina convencional.

Gostaria de saber se alguém pode me ajudar.

Nota: No código abaixo eu não coloquei o código que gera as urls das paginas correspondentes por causa da falta desse complemento.

Segue abaixo o código.

<?php
/*
Template Name: DT - jwplayer
*/

if( isset( $_GET['source'] ) and isset( $_GET['id'] ) ) {

// main data
$id     = isset( $_GET['id'] ) ? $_GET['id']         : null;
$mp4url = isset( $_GET['source'] ) ? $_GET['source'] : null;
// Descriptar Url link
$source = encrypt_decrypt('decrypt', $mp4url);
// Coloca o titulo do Episodio
$tituloEpisodio =  $_GET['tituloep'];
// Options
$abouttext      = get_option('dt_jw_abouttext');
$skinname       = get_option('dt_jw_skinname');
$skinactive     = get_option('dt_jw_skinactive');
$skininactive   = get_option('dt_jw_skininactive');
$skinbackground = get_option('dt_jw_skinbackground');
$jwlogo         = get_option('dt_jw_logo');
$jwkey          = get_option('dt_jw_key');
$jwlogoposit    = get_option('dt_jw_logo_position');
$image          = rand_images('imagenes', $id, 'original', true, true);
$episodioNome   = get_post_meta($id, 'serie', true);
$episodioNumero = get_post_meta($id, 'episodio', true);

// Aqui fica a url da imagem do player do site caso não tenha imagem radonia
$imagemPlayer   = get_option('dt_logo_footer');
// alternativo sem radonio $image = rand_images('dt_backdrop', $id, 'original', true, true);

$postid = $_GET['id'];
$tmdb = get_post_meta($postid, "ids", $single = true);
$current_season = get_post_meta($post->ID, "temporada", $single = true);
$data = season_of($tmdb);
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8"/>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <meta name="robots" content="noindex">
        <meta name="googlebot" content="noindex">
        <?php /* Url antiga <script src="<?php echo DOO_URI. '/assets'; ?>/jwplayer/jwplayer.js"></script> */ ?>
        <script src="https://content.jwplatform.com/libraries/fNkNmTXG.js"></script>
        <script src="<?php echo DOO_URI. '/assets'; ?>/jwplayer/provider.html5.js"></script>
        <?php /* chave desativada <script>jwplayer.key="<?php echo $jwkey; ?>";</script> */ ?>
        <script type="text/javascript">
        /* <![CDATA[ */
        var JWp = {
            'mp4file': '<?php echo $source; ?>',
            'image': '<?php if ($image == true) { echo esc_url($image); } else { echo $imagemPlayer; } ?>',
            'abouttext': '<?php echo $abouttext; ?>',
            'aboutlink': '<?php echo esc_url( home_url() ); ?>',
            'flashplayer': '<?php echo DOO_URI. "/assets/jwplayer/jwplayer.flash.swf"; ?>',
            'skin-name': '<?php echo $skinname; ?>',
            'skinactive': '<?php echo $skinactive; ?>',
            'skininactive': '<?php echo $skininactive; ?>',
            'skinbackground': '<?php echo $skinbackground; ?>',
            'logofile': '<?php echo $jwlogo; ?>',
            'logolink': '<?php echo esc_url( home_url() ); ?>',
            'logoposition': '<?php echo $jwlogoposit; ?>',
        };
        /* ]]> */
        </script>
        <link rel="stylesheet" type="text/css" href="<?php echo DOO_URI. '/assets'; ?>/jwplayer/skins/seven.css">
<style type="text/css">
<!--
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
-->
</style>
    </head>
    <body>
        <div id="video"></div>
        <script type="text/JavaScript">
            var playerInstance = jwplayer("video");
            playerInstance.setup({
                playlist: [{
  file: JWp.mp4file,
  image: JWp.image,
  title: '<?php echo $episodioNome.' Episódio '.$episodioNumero; ?>',
  mediaid: '<?php echo $episodioNumero; ?>'
},
<?php $temporada = $data['temporada']['all'];
$capitulos = $data['capitulo']['all'];
foreach($temporada as $key_t=>$value_t){
foreach($capitulos as $key_c=>$value_c){ ?>{
  file: JWp.mp4file,
  image: '<?php if($thumb_id = get_post_thumbnail_id($value_c['id'])) { $thumb_url = wp_get_attachment_image_src($thumb_id,'dt_episode_a', true); echo $thumb_url[0]; } else { dt_image('dt_backdrop', $value_c['id'], 'w500'); } ?>',
  title: '<?php echo $episodioNome; ?> Episódio <?php echo data_of('episodio',$value_c['id']); ?>',
  mediaid: '<?php echo data_of('episodio',$value_c['id']); ?>',
}, <? } } ?>
],
                mute: "false",
                autostart: "false",
                repeat: "false",
                abouttext: JWp.abouttext,
                aboutlink: JWp.aboutlink,
                height: "100%",
                width: "100%",
                stretching: "uniform",
                primary: "html5",
                flashplayer: JWp.flashplayer,
                preload:"metadata",
                skin: {
                    name:JWp.skinname,
                    active:JWp.skinactive,
                    inactive:JWp.skininactive,
                    background: JWp.skinbackground
                },
                logo: {
                    file:JWp.logofile,
                    hide:"false",
                    link:JWp.logolink,
                    margin:"15",
                    position:JWp.logoposition
                }
            });

        </script>
    </body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
    • Por Carlos Web Soluções Web
      Olá...
      Estou tentando fazer o seguinte !!
      Listando dados em tabela !!
      Gostaria que....se na listagem houver 4 linhas...indepedente de seu número de ID, faça a listagem em ID ser em ordem 1 2 3 4 !!
      Exemplo...se tiver uma listagem de dados que está em ID 1 3 3...faça ficar 1 2 3 !!

       
      echo "<table class='tabela_dados' border='1'> <tr> <td>ID</td> <td>Nome Empresa</td> <td>Responsável</td> <td>Telefone 1</td> <td>Telefone 2</td> <td>E-mail 1</td> <td>E-mail 2</td> <td>Endereço</td> <td>CEP</td> <td>Bairro</td> <td>AÇÃO 1</td> <td>AÇÃO 2</td> </tr> "; $sql = "SELECT ID FROM usuarios_dados WHERE Usuario='$usuario'"; $result = $conn->query($sql); $num_rows = $result->num_rows; $Novo_ID = 1; for ($i = 0; $i < $num_rows; $i++) { $registro = $result -> fetch_row(); $sql2 = "UPDATE usuarios_dados SET ID='$Novo_ID' WHERE ID='$Novo_ID'"; $result2 = $conn->query($sql2); $Novo_ID++; } $sql = "SELECT * FROM usuarios_dados"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "<tr> <td>$row[ID]</td> <td>$row[Nome_Empresa]</td> <td>$row[Responsavel]</td> <td>$row[Telefone_1]</td> <td>$row[Telefone_2]</td> <td>$row[Email_1]</td> <td>$row[Email_2]</td> <td>$row[Endereço]</td> <td>$row[CEP]</td> <td>$row[Bairro]</td> <td> <form method='post' action='Editar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='EDITAR'> </form> </td> <td> <form method='post' action='Deletar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='DELETAR'> </form> </td> </tr> "; } } else { echo "0 results"; } $conn->close();  
    • Por ILR master
      Boa tarde pessoal, tudo bem ?
       
      Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post.
      O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser.
       
      A pergunta é:
       
      O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado?
      Tem alguma função via java ou php para retirar a formatação assim que o texto é colado?
      Ou é melhor usar um outro editor?
       
      Agradeço deste já.
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.