Ir para conteúdo

Arquivado

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

  • 0
mktjuliet

Player List - Controle e tempo

Pergunta

Estou montando uma player list, hoje o play em sí já funciona mais precisava que quando clica-se na lista a musica pare e o icone de player mude para o de pause, controlando a parte de cima e a lista.

E que ao mudar de musica e voltar ele continue da onde parou, alguém consegue me ajudar?

 

index.html

document.getElementById('idDoElemento').id = 'novoid'


$( "#musicas" ).hasClass( "active" );


if($('#playlist li.active')){
		$('#botoes-li').hide();
		$('#botoes-Pa').show();
	}
	

<div id="audio-player">
<div class="cor-fundo">
    <div class="container">
        <!-- Topo Player -->
            <div class="row">
                <!-- informação da midia -->
                <div class="col-lg-12 text-center">
                    <h1>
                        Titulo player
                    </h1>
                    <div id="audio-info">
						<span class="titulo"></span>
					</div>	
                </div>
            </div>
            <!-- end informação da midia -->
            
            <div class="row">
				<div class="col-lg-12">
					<div id="tracker">
						<div id="barradeprogresso">
							<span id="progresso" class="pro"></span>
							<span id="handle"></span>							
						</div>
					</div>
                </div>
            </div>
            
            <div class="clearfix"></div>
            
            <div class="row controleBotoes">              
                <div class="col-xs-4 col-sm-2 col-md-2 col-lg-2">
                   <button id="prev"></button>
                </div>
                <div class="col-xs-4 col-sm-8 col-md-8 col-lg-8" >
                   <button id="play"></button>
				   <button id="pause"></button>
                </div>
                <div class="col-xs-4 col-sm-2 col-md-2 col-lg-2">
					<button id="next"></button>
                </div>
            </div>
    </div>
</div>

<div class="container lista"> 
	<div class="row botoes-menu">
		<div class="col-xs-9 col-sm-11 col-md-11 col-lg-11">
		<ul id="playlist">
			<li song="musica01.mp3" titulo="teste 01" id="musicas">
			<div class="linha-player">
				<div class="botoes-lista">
					<div class="botoes-li" id="botoes-li"></div>
					<div class="botoes-Pa" id="botoes-Pa"></div>
				</div>
				<div class="bloco-direito">
					<div class="linha-descricao linha-informacao">
						<h3 class="descricao-titulo">Introdução</h3>
					</div>
					<div class="linha-descricao">
						<p class="texto_unidade">Informações Editorais</p>
					</div> 
				</div>
			</div>
			</li>
			
			<li song="musica03.mp3" titulo="teste 02" id="musicas02">
			<div class="linha-player">
				<div class="botoes-lista">
					<div class="botoes-li" id="botoes-li"></div>
					<div class="botoes-Pa" id="botoes-Pa"></div>
				</div>
				<div class="bloco-direito">
					<div class="linha-descricao linha-informacao">
						<h3 class="descricao-titulo">Introdução</h3>
					</div>
					<div class="linha-descricao">
						<p class="texto_unidade">Informações Editorais</p>
					</div>
				</div>
			</div>
			</li>
			
			<li song="musica02.mp3" titulo="teste 02" id="musicas">
			<div class="linha-player">
				<div class="botoes-lista">
					<div class="botoes-li" id="botoes-li"></div>
					<div class="botoes-Pa" id="botoes-Pa"></div>
				</div>
				<div class="bloco-direito"> 
					<div class="linha-descricao linha-informacao">
						<h3 class="descricao-titulo">Introdução</h3>
					</div>
					<div class="linha-descricao">
						<p class="texto_unidade">Informações Editorais</p>
					</div>
				</div>
			</div>
			</li>
			</ul>
		
		</div>
	</div>
</div> 

</div>
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/main.js"></script>

 

 

 

main.js

var audio;


$('#pause').hide();
$('#botoes-Pa').hide();
initAudio($('#playlist li:first-child'));
	
function initAudio(element){ 
	var song = element.attr('song');
    var titulo = element.text();
    var descricao = element.attr('descricao');

	audio = new Audio('media/' + song);
	
	if(!audio.currentTime){
		$('#duracao').html('0.00');
	}

	$('#audio-player .titulo').text(titulo);
    $('#audio-player .descricao').text(descricao);
	
	
	$('#playlist li').removeClass('active');
    element.addClass('active');
	
}

$('#play').click(function(){
	audio.play();
	$('#play').hide();
	$('#pause').show();
	$('#botoes-li').hide();
	$('#botoes-Pa').show();
	$('#duracao').fadeIn(400);
	showDuration();
});


$('#pause').click(function(){
	audio.pause();
	$('#pause').hide();
	$('#play').show();
});
	
	

$('#next').click(function(){
    audio.pause();
    var next = $('#playlist li.active').next();
    if (next.length == 0) {
        next = $('#playlist li:first-child');
    }
	
	if($('#play').is(':visible')){
        $('#play').hide();
        $('#pause').show();
    }
	
    initAudio(next);
	
	audio.play();	
	showDuration();
});


$('#prev').click(function(){
    audio.pause();
    var prev = $('#playlist li.active').prev();
    if (prev.length == 0) {
        prev = $('#playlist li:last-child');
    }
	if($('#play').is(':visible')){
        $('#play').hide();
        $('#pause').show();
    }
    initAudio(prev);
	audio.play();
	showDuration();
});


$('#playlist li').click(function () {
    
	if(document.getElementById('playlist').id = 'pauselist'){
	audio.pause();
    initAudio($(this));
	$('#play').hide();
	$('#pause').show();
	$('#botoes-li').hide();
	$('#botoes-Pa').show();
	$('#duracao').fadeIn(400);
	audio.play();
	showDuration();
	}
	
	if(document.getElementById('pauselist').id = 'playlist'){
		audio.pause();
		$('#play').hide();
		$('#pause').show();
		$('#duracao').fadeIn(400);
		
		showDuration();
	}
});


	

function showDuration(){
	$(audio).bind('timeupdate', function(){		
		var s = parseInt(audio.currentTime % 60);
		var m = parseInt((audio.currentTime / 60) % 60);
		if (s < 10) {
			s = '0' + s;
		}
		$('#duracao').html(m + '.' + s);	
		var value = 0;
		if (audio.currentTime > 0) {
			value = ((100 / audio.duration) * audio.currentTime);
		}
		$('#progresso').css('width',value+'%');
		$('#handle').text();

		if( audio.currentTime >= audio.duration) $('#next').trigger('click');
	
	});
}

$("#barradeprogresso").mouseup(function(e){
    var leftOffset = e.pageX - $(this).offset().left;
    var songPercents = leftOffset / $('#barradeprogresso').width();
 audio.currentTime = songPercents * audio.duration;
});

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

0 respostas a esta questão

Recommended Posts

Até agora não há respostas para essa pergunta


  • Conteúdo Similar

    • Por gustavodubarbosa
      Estou criando uma página que realize monitoramento de atividades.
      No meu código PHP defini uma variável que busca a data atual, depois passei o parâmetro de conexão com o banco de dados, depois criei um while para buscar as informações, dentro do while criei um if, a condição if é que se a variável data for igual a data cadastrada na atividade, exiba toda a atividade cadastrada. Mas o problema é que o if não está controlando essa condição, está passando direto e exibindo tudo.
      <?php $number = ('23'); $data = date("Y-m-d"); echo "$data"; /*Aqui realizo a conexão com o banco de dados, passo os dados para conectar, caso dê algum erro, o sistema me retorna uma mensagem de erro*/ $conect = mysqli_connect('localhost','root','','projeto_pessoal') or die ('Erro na conexão com o banco de dados'); /*Aqui passo o comando para realizar a busca no banco de dados, aplicando o filtro de pesquisa*/ $result_pesquisa = "SELECT * FROM cadastrar_atividade"; /*Neste momento, mando a execução, preciso passar como parametro a variável com a conexão e a variável com o comando, caso dê erro, será exibido uma mensagem*/ $resultado_pesquisa = mysqli_query($conect, $result_pesquisa); /*Aqui é aberto um laço de repetição para fazer uma varredura no banco de dados, em seguida realizo a exibição do que foi encontrado*/ ?> <h1>Resultado da Pesquisa</h1> <?php while($rows_pesquisa = mysqli_fetch_array($resultado_pesquisa)){ if($rows_pesquisa['prazo'] == $data) echo '<p class="title">'.'ID da atividade: '.'</p>'.'<p class="result">'.$rows_pesquisa['id'].'<br>'.'</p>'; echo '<p class="title">'.'Nome da atividade: '.'</p>'.'<p class="result">'.$rows_pesquisa['nome_atividade'].'<br>'.'</p>'; echo '<p class="title">'.'Descrição da atividade: '.'</p>'.'<p class="result">'.$rows_pesquisa['desc_atividade'].'<br>'.'</p>'; echo '<p class="title">'.'Prioridade: '.'</p>'.'<p class="result">'.$rows_pesquisa['prioridade'].'<br>'.'</p>'; echo '<p class="title">'.'Prazo: '.'</p>'.'<p class="result">'.$rows_pesquisa['prazo'].'<br>'.'</p>'; echo 'carregado'; echo '<hr></hr>'; } ?>  
    • Por ment0r
      Boa tarde a todos.
       
      Estou iniciando um projeto para uma empresa em que presto serviço. É relativamente bem simples. Querem um sistema que controle pedidos de compra, estoque e fluxo de caixa. Cenário bem resumido: um funcionário digita o pedido (alimentos), o pedido é aprovado; quando a mercadoria chega outra funcionária da entrada nesses pedidos alimentando o estoque e o valor da compra vai pro financeiro, tudo muito simples.
       
      Meu pedido de sugestão pra vocês é: como faço pra controlar os acessos dos usuários, uma vez que os usuários serão cadastrados por 'categoria', ou seja, o usuário cadastrado com liberação pra pedido, só pode entrar em páginas do pedido; um usuário liberado pra pedido e estoque não pode acessar nada do financeiro e assim por diante.
       
      Qual é a melhor maneira de se fazer isso? Admito que nunca precisei fazer isso antes e conto com a sugestão de vocês para me ajudar nessa. Outra coisa, o sistema vai começar com esses três setores, mas futuramente aumentará, podendo acrescentar atendimentos: fisioterapia, psicologia e etc (é uma escola). Gostaria de já deixar algo preparado em relação à controle de acessos pensando nessa futura melhoria.
       
      Grande abraço e muito obrigado desde já.
       
      Att.
    • Por meljohansson
      Bom dia.
      Preciso desenvolver alguns desenhos de controles de portões, alarmes de carros. Qual o software mais indicado?
    • Por Marcio_123
      Pessoal blz
      To criando um sistema pra acionar um cadastro via formulario quando o prazo_inscricoes (campo do banco de dados), for menor que a variavel data_limete (que pega a data atual do sistema)
      ou seja, fiz um cadastro com data limite para inscrições em 30/03/2018, apos essa data, ou seja quando a data_limite for maior ele mostra a mensagem que ja foi finalizado e não permite inscrição.
      <? $data_limite = date("d/m/Y"); $sql = mysql_query("SELECT (prazo_inscricoes) FROM minha_tabela WHERE id = ".$_GET["i"]." "); while($dados=mysql_fetch_array($sql)){ ?> <? if (mysql_num_rows($dados) < $data_limite) { <span>Processo Em andamento. O prazo para inscrições termina em: <?=$dados[prazo_inscricoes]; ?>. Faça a sua on-line: Clique Aqui</span> }else{ <span>Processo Finalizado. Não é permitido novas inscrições</span> } ?> <? } ?>  
    • Por marlone
      Estou aprendendo php e o primeiro sistema que submeti a fazer é um programa de estoque. Gostaria de listar os produtos do banco em uma tabela e ao clicar em editar vai aparece todas as informações dele para que seja modificada. Como eu faria isso?
×

Informação importante

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