netoikeda 0 Denunciar post Postado Abril 12, 2010 Bom Dia Galera, sou novo no fórum e precisava de uma GRANDE ajuda com um trabalho q estou desenvolvendo. É uma rádio, no qual tds os usuarios do site onde ela vai ficar, vao ter um login e senha, e de acordo com esse login e senha vão ter sua própria playlist. Até ai ta perfeito, consegui fazer a rádio separar as playlists por ID dp de muuito trabalho, mais ai surgiu outro desafio... o de fazer essa rádio dizer as horas. Eu tenho tds os arquivos mp3 das horas, os de horas chamam 1h, 2h, 3h.. e os de minuto 1m, 2m.. E tenho o codigo das horas. O modo q eu estou tentando fazer é, eu coloquei hora_certa em um atributo no meu XML, e eu precisva fazer o flash detectar esse valor "hora_certa", e quando detectasse, ele fizesse tocar o arquivo mp3 das horas, eu concatenei e td certinho, mais não estou conseguindo. Alguém poderia dar uma ajuda? Sei que é bem complicado, então agradeço mesmo assim ^^. Aqui vai o código e o XML: AS2: //pega id var Recebe:LoadVars = new LoadVars; Recebe.load("id.php",0,"POST"); Recebe.onLoad = function () { id_text.text = this.id; id_text._visible = false; //hora e minuto valores = new Date(); hora = valores.getHours(); minuto = valores.getMinutes(); segundos = valores.getSeconds(); diaSemana = valores.getDay(); ano = valores.getFullYear(); mes = valores.getMonth() + 1; dia = valores.getDate(); if (dia < 10){ dia = "0" + dia; } // end if if (mes < 10){ mes = "0" + mes; } // end if if (ano < 10){ ano = "0" + ano; } // end if if (hora < 10){ hora = "0" + hora; } // end if if (minuto < 10){ minuto = "0" + minuto; } // end if horario=hora + "" + minuto; horatual.text = hora + ":" + minuto; segatual.text = segundos; if (horario < "1159"){ mensagem2.text = "Bom Dia!"; } // end if if(horario > "0000" and horario < "0559" ){ mensagem2.text = "Boa Madrugada!"; } // end if if(horario > "1200" and horario < "1759" ){ mensagem2.text = "Boa Tarde!"; } // end if if(horario > "1800" and horario < "2159" ){ mensagem2.text = "Boa Noite!"; } // end if setInterval(lime_hor, 1000); ///////////////////////////////////////////////////////////////// // Flash MP3 Player XML // Developed by www.flashmo.com import mx.transitions.Tween; import mx.transitions.easing.*; var song_folder:String = "songs/"; var song_list:Array = new Array(); var track_list:Array = new Array(); var artist_list:Array = new Array(); var album_list:Array = new Array(); var current:Number = 0; var position:Number; var new_volume:Number = 100; var flashmo_xml:XML = new XML(); flashmo_xml.ignoreWhite = true; flashmo_xml.onLoad = function() { var nodes:Array = this.firstChild.childNodes; for(var i = 0; i < nodes.length; i++) { song_list.push(nodes.attributes.filename); track_list.push(nodes.attributes.track); artist_list.push(nodes.attributes.artist); album_list.push(nodes.attributes.album); } play_song("start"); } /////////carrega xml flashmo_xml.load( song_folder + "radio_" + this.id + ".xml"); if (this.attributes.filename = hora_certa) { timer.text = "São" + hora; hora_correta = function () { som = new Sound(); som.loadSound("Hora_Certa/" + hora + "h.mp3", true); som.onSoundComplete = function(){ som2 = new Sound(); som2.loadSound("Hora_Certa/" + minuto + "m.mp3", true); } } } }else{ } e aqui o XML: <?xml version="1.0" encoding="UTF-8" ?> <songs> <song filename="Hora_certa" Faixa="horário" artist="Eric Jordan" album="October 2007, Evolver" /> <song filename="EricJordan_Evolver_October2007_30_192k.mp3" Faixa="Faixa Um" artist="Eric Jordan" album="October 2007, Evolver" /> <song filename="EricJordan_Quest_July2007_10_11.mp3" Faixa="Faixa Dois" artist="Eric Jordan" album="July 2007, Quest" /> <song filename="EricJordan_SecondSun_November2006_72_73.mp3" Faixa="Faixa Tres" artist="Eric Jordan" album="November 2006, Second Sun" /> <song filename="EricJordan_SecondSun_November2006_71.mp3" Faixa="Faixa quatro" artist="Eric Jordan" album="November 2006, Second Sun" /> </songs> Obrigado! :) Compartilhar este post Link para o post Compartilhar em outros sites
:: D.RAven.. 0 Denunciar post Postado Abril 12, 2010 Ola, Acho q se você fizer de outra forma fica melhor e mais facil, Depois q eu li o seu post eu fui fazer um teste, e funcionou certinho.. Use a classe Date(), use o valores.getHours() para buscar a hora e faça comparações com IF's e chame a funcão de acordo com a musica: Ex: if(valores.getHours < 11 and > 18){ funcMusicaTarde(); } E dentro da funcMusicaTarde() você chama os dados do XML para carregar a musica correta.. Espero ter ajudado.. Abraxx.. Compartilhar este post Link para o post Compartilhar em outros sites
netoikeda 0 Denunciar post Postado Abril 12, 2010 Hum, malz, mais você pode postar o código q usou? ou o Arquivo? Vlw Ahh, eu entendi o q você quis dizer, mais não serie esse o propósito, entenda q cada usuario vai ter sua propria playlist, ou seja, um proprio XML pra cada, e dp de um numero determinado de musicas, por exemplo 5 musicas, vai ter o atributo "hora_certa" no XML, seria pro flash detectar isso, e ai puxar os arquivos de musik, eu não posso deixar esse codigo fixo... Eis o meu problema Compartilhar este post Link para o post Compartilhar em outros sites
:: D.RAven.. 0 Denunciar post Postado Abril 12, 2010 use dinamismo nisso, rsrs.. use variaveis q puxam os dados qdo o xml for carregado, tipo, a pessoa01 logou, o xml dela é carregado e os dados são guardados nas variaveis q você vai configurar, tipo var musica_manha = musica1, e musica1 você faz receber os dados do xml daquela pessoa. Assim tanto faz o q vai setar na função, contanto q as variaveis recebam os dados qdo carregar o xml depois q o user logar.. Compartilhar este post Link para o post Compartilhar em outros sites
netoikeda 0 Denunciar post Postado Abril 15, 2010 Então, até essa parte beleza, mais o problema é eu detectar quando tiver o Hora-certa no filename, pq quando xega no no atributo hora_certa ele passa batido e o flash le a prox musik, ja q no atributo hora_certa nao ta chamando nenhuma, eu teria q chamar pelo flash, poderia ateh ser um arquivo de audio direto sem precisar de XML. E uma dúvida, se tiver tocando as musikas do XML, e der certo de o Flash conseguir identificar o hora_certa, e puxar o som do horario, ele vai tocar os dois simultaneamente? ou ele vai parar de reproduzir o do xml? ps: tenho quase certeza de q esse codigo está incorreto... if (this.attributes.filename = hora_certa) { timer.text = "São" + hora; hora_correta = function () { som = new Sound(); som.loadSound("Hora_Certa/" + hora + "h.mp3", true); som.onSoundComplete = function(){ som2 = new Sound(); som2.loadSound("Hora_Certa/" + minuto + "m.mp3", true); } } } }else{ } Enfim, axo q a definição da palavra hora_certa no xml não é atributo ;p . ele só está la pro flash saber a hora q eh pra chamar os arquivos do horario. Se alguem souber como se faz essa marotagem ^^. Bom, tentando aki, fiz outro modelo de XML: <?xml version="1.0" encoding="UTF-8" ?> <songs> <song filename="EricJordan_Evolver_October2007_30_192k.mp3" track="Faixa Um" artist="Eric Jordan" album="October 2007, Evolver" horacerta="0" /> <song filename="EricJordan_Quest_July2007_10_11.mp3" track="Faixa Dois " artist="Eric Jordan" album="July 2007, Quest" horacerta= "0" /> <song filename="EricJordan_SecondSun_November2006_72_73.mp3" track="Faixa Tres " artist="Eric Jordan" album="November 2006, Second Sun" horacerta= "0" /> <song filename="EricJordan_SecondSun_November2006_72_73.mp3" track="Faixa Tres " artist="Eric Jordan" album="November 2006, Second Sun" horacerta="1" /> <song filename="EricJordan_SecondSun_November2006_71.mp3" track="Faixa Quatro " artist="Eric Jordan" album="November 2006, Second Sun" horacerta="0" /> </songs> eu atribui o valor de 0 ou 1 para o topico horacerta, até ai ta ok, eu estou fazendo o flash mostrar esse valor em um txt dinamico, até ai td beleza, o sentido disso era fazer o flash detectar quando tivesse o valor 1, mais nao estou conseguindo fazer ele ver isso. Eu ja tentei relacionar com o txt dinamico q ta mostrando o valor : if(info.text=="1") { já tentei direto da variavel: if(horarios2[current]==1) { if(horarios2[current]=="1") { mais até agora nada, se alguem souber. por favooooooor me ajude . Thanks =D Se não for dessa maneira, por favor me corrijam =) o problema da hora foi resolvido, vou postar o código pra se algum dia alguem precisar, não passar pelo q eu passei. Maaais tem um outro problema, quando eu passei os codigos das horas pra junto dos outros codigos, eu tive q tirar a função dele e colocar ele dentro de uma função q ja existia, só q ai o q acontece, o horario do flash nao atualiza mais, e eu nao sei como posso arrumar isso, se alguem puder ajudar eu agradeço ta ai o código. e o erro é na parte das horas, onde ela não se atualiza, se eui entro no site as 13:55 vai fik assim ateh a morte ;D. //pega id var Recebe:LoadVars = new LoadVars; Recebe.load("id.php",0,"POST"); Recebe.onLoad = function () { id_text.text = this.id; id_text._visible = true; //hora e minuto valores = new Date(); hora = valores.getHours(); minuto = valores.getMinutes(); segundos = valores.getSeconds(); diaSemana = valores.getDay(); ano = valores.getFullYear(); mes = valores.getMonth() + 1; dia = valores.getDate(); if (dia < 10){ dia = "0" + dia; } // end if if (mes < 10){ mes = "0" + mes; } // end if if (ano < 10){ ano = "0" + ano; } // end if if (hora < 10){ hora = "0" + hora; } // end if if (minuto < 10){ minuto = "0" + minuto; } // end if horario=hora + "" + minuto; horatual.text = hora + ":" + minuto; segatual.text = segundos; if (horario < "1159"){ mensagem2.text = "Bom Dia!"; } // end if if(horario > "0000" and horario < "0559" ){ mensagem2.text = "Boa Madrugada!"; } // end if if(horario > "1200" and horario < "1759" ){ mensagem2.text = "Boa Tarde!"; } // end if if(horario > "1800" and horario < "2159" ){ mensagem2.text = "Boa Noite!"; } // end if setInterval(1000); ///////////////////////////////////////////////////////////////// // Flash MP3 Player XML // Developed by www.flashmo.com import mx.transitions.Tween; import mx.transitions.easing.*; var song_folder:String = "xml/"; var song_list:Array = new Array(); var track_list:Array = new Array(); var artist_list:Array = new Array(); var album_list:Array = new Array(); var current:Number = 0; var position:Number; var new_volume:Number = 100; var flashmo_xml:XML = new XML(); flashmo_xml.ignoreWhite = true; flashmo_xml.onLoad = function() { var nodes:Array = this.firstChild.childNodes; for(var i = 0; i < nodes.length; i++) { if (nodes[i].attributes.filename == "HORA"){ nodes[i].attributes.filename = "../Hora_Certa/" + hora + "h.mp3"; } if (nodes[i].attributes.filename == "MINUTO"){ nodes[i].attributes.filename = "../Hora_Certa/" + minuto + "m.mp3"; } song_list.push(nodes[i].attributes.filename); track_list.push(nodes[i].attributes.track); artist_list.push(nodes[i].attributes.artist); album_list.push(nodes[i].attributes.album); } play_song("start"); } /////////carrega xml flashmo_xml.load( song_folder + "radio_" + this.id + ".xml"); Compartilhar este post Link para o post Compartilhar em outros sites
:: D.RAven.. 0 Denunciar post Postado Abril 17, 2010 tenta fazer o seguinte, crie uma função especifica para a hora, chame a função usando: setInterval(nome_da_funcao, 1000); tipo: Recebe.onload = function () { id_text.text = this.id; id_text._visible = true; //hora e minuto hora_minuto function(){ //coloca o codigo da hora aqui } setInterval(hora_minuto, 1000); } tente isso.. Abraxx.. Compartilhar este post Link para o post Compartilhar em outros sites