Ir para conteúdo
Fórum Script Brasil

VB6DeveloperJr

Membros
  • Total de itens

    65
  • Registro em

  • Última visita

Sobre VB6DeveloperJr

VB6DeveloperJr's Achievements

0

Reputação

  1. Juninn, obrigado pela resposta! Então o arquivo esta sendo gravado significa que, por exemplo é uma gravação telefonica. é criado um arquivo com extensão .wav, mas enquanto a pessoa esta falando ao telefone este mesmo arquivo esta aumentando o tamanho em Kbytes, ou seja esta sendo gerado ainda, eu preciso ouvir em tempo real o que a pessoa esta falando entende... Um exemplo claro disso seria, quando você esta baixando uma musica, e ela ainda não esta completa o arquivo aparece la na pasta de Donwloads certo? pois bem eu precisaria abrir esse arquivo e já ir ouvindo ao mesmo tempo que o donwload é feito, assim como quando você faz um donwnload direto pelo WindowsMediaPlayer, ou quando você vê um video no YouTube, que o arquivo ainda esta sendo baixado mas já da pra ir ouvindo/assistindo... Aguardo retorno.
  2. Pessoal, tenho um problemão aqui, preciso abrir um arquivo .wav no momento em que ele esta sendo gravado... Segue o código para exibir o WindowsMediaPlayer na página: <object id = "meuPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player..." type="application/x-oleobject" style="width: 294px; height: 60px"> <param name = "AutoStart" value = "True" /> <param runat="server" id="paramAudioLinkGravacao" name = "URL" /> <embed runat="server" id="EmbedAudioLinkGravacao" type="application/x-mplayer2" width = "294px" height = "60px"></embed> </object> E este é o código no CodeBehind: string caminho = "C:\arquivo.wav"; Page.ClientScript.RegisterStartupScript(this.GetType(), "meuPlayer", caminho, true); this.paramAudioLink.Attributes.Add("value", caminho); this.EmbedAudioLink.Attributes.Add("src", caminho); Não sei se é preciso usar Stream, Buffer, mas acontece que pelo WindowsMedia Player da o erro de que não é possivel abrir o arquivo pois ele esta sendo usado por outro programa. Preciso abrir o conteudo dele mesmo enquanto esta sendo gravado. obrigado.
  3. OSJunior, segue o código completo: if (e.CommandName.ToString() == "ExecutarAudio") { gdvGravacoes.SelectedIndex = Convert.ToInt32(hidNo.Value); FileStream arquivo = new FileStream(@"\\10.6.100.109\D\Folder\File.Wav", FileMode.Open,FileAccess.Read); UpdatePanel4.Update(); Page.ClientScript.RegisterStartupScript(this.GetType(), "meuPlayer", arquivo.Name, true); this.paramAudioLink.Attributes.Add("value", arquivo.Name); this.EmbedAudioLink.Attributes.Add("src", arquivo.Name); oLog.GravarLog(Struct_Usuario.ID, "Execução da gravação: " + arquivo.Name); } if (e.CommandName.ToString() == "SalvarArquivo") { FileInfo arquivo = new FileInfo(@"\\10.6.100.109\D\Folder\File.Wav"); Response.Clear(); Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment; filename= " + arquivo.Name + ""); Response.Flush(); try { Response.WriteFile(arquivo.FullName); oLog.GravarLog(Struct_Usuario.ID, "Download da gravação " + arquivo.FullName.ToString()); } catch (Exception ex) { oLog.GravarLog(Struct_Usuario.ID, "Erro " + ex.Message); } Aqui esta meu AspX com o Object do WindowsMediaPlayer que vai abrir o arquivo de audio na aplicação. <object id = "meuPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player..." type="application/x-oleobject" style="width: 294px; height: 60px"> <param name = "AutoStart" value = "True" /> <param runat="server" id="paramAudioLink" name = "URL" /> <embed runat="server" id="EmbedAudioLink" type="application/x-mplayer2" width = "294px" height = "60px"></embed> </object> Para salvar o arquivo, funciona normalmente, apenas para abrir que da o erro de Usuario e Senha.
  4. Pessoal, estou tentando acessar um arquivo que se encontra na rede da seguinte forma FileStream arquivo = new FileStream(e.CommandArgument.ToString(), FileMode.Open,FileAccess.Read); Porém sempre aparece o erro "Falha de logon: nome de usuário desconhecido ou senha incorreta." Caso alguém já tenha passado por isso por favor me avisar! Preciso muito resolver este problema. obrigado...
  5. Testei Quintelab, e nada aindaa.. já tentei de tudo e nada resolve, eu verifiquei no Gerenciador de Tarefas do Windows, e o consumo de memoria do iexplore aumenta quase 1000 k, a cada interval do Timer, e isso faz o navegador travar entende? não sei o que pode estar acumulando tantas requisições assim, porque no evento Tick eu faço uma consulta somente a porta socket e fecho a conexão depois... enfim, alguma sugestão de como resolver??
  6. Ok,seria dessa forma? <asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Enabled="true" Interval="3000"> </asp:Timer> <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> <Triggers> <asp:AsyncPostBackTrigger ControlID = "Timer1" EventName = "Tick" /> </Triggers> <ContentTemplate> <asp:DataList ID="dtlMonitoracao" runat="server" RepeatColumns="4" RepeatDirection="Horizontal" CellPadding="2" HorizontalAlign="Center" ShowFooter="False" ShowHeader="False" CellSpacing="2"> <ItemTemplate> <asp:Panel ID="pnlCanais" runat="server" BorderWidth = "2" > <table width="200px" height="70px" align="center"> <tr valign="top"> <td> <asp:Label ID="lblStatus" runat="server" CssClass="transparenciaPNG" CommandName="ExibirGravacoes" CommandArgument='<%# Eval("CANAL").ToString() + ";" + Eval("IP").ToString() %>' /> </td> <td> <asp:Label ID="lblCanais" runat="server" Text='<%# "Canal " + Eval("Canal").ToString() %>' Font-Bold="True"></asp:Label> </td> </tr> <tr valign="bottom"> <td> <asp:ImageButton ID="imgOuvir" runat="server" CssClass="transparenciaPNG" ImageUrl="/App_Themes/Imagens/falante.png" CommandName="ExecutaAudio" CommandArgument='<%# Eval("CANAL").ToString() + ";" + Eval("CAMINHO").ToString() %>' /> </td> </tr> </table> </asp:Panel> </ItemTemplate> </asp:DataList> </ContentTemplate> </asp:UpdatePanel>
  7. Pessoal, estou com um DataList e dentro do ItemTemplate, possui um label informando o Status do registro, preciso fazer uma atualização a cada 3 seg, nesse status. Para isso eu fiz o seguinte, <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Enabled="true" Interval="3000"> </asp:Timer> <asp:DataList ID="dtlMonitoracao" runat="server" RepeatColumns="4" RepeatDirection="Horizontal" CellPadding="2" HorizontalAlign="Center" ShowFooter="False" ShowHeader="False" CellSpacing="2"> <ItemTemplate> <asp:Panel ID="pnlCanais" runat="server" BorderWidth = "2" > <table width="200px" height="70px" align="center"> <tr valign="top"> <td> <asp:Label ID="lblStatus" runat="server" CssClass="transparenciaPNG" CommandName="ExibirGravacoes" CommandArgument='<%# Eval("CANAL").ToString() + ";" + Eval("IP").ToString() %>' /> </td> <td> <asp:Label ID="lblCanais" runat="server" Text='<%# "Canal " + Eval("Canal").ToString() %>' Font-Bold="True"></asp:Label> </td> </tr> <tr valign="bottom"> <td> <asp:ImageButton ID="imgOuvir" runat="server" CssClass="transparenciaPNG" ImageUrl="/App_Themes/Imagens/falante.png" CommandName="ExecutaAudio" CommandArgument='<%# Eval("CANAL").ToString() + ";" + Eval("CAMINHO").ToString() %>' /> </td> </tr> </table> </asp:Panel> </ItemTemplate> </asp:DataList> </ContentTemplate> </asp:UpdatePanel> Existe um Timer com o Interval de 3 seg, dentro do UpdatePanel, e no evento Tick eu faço a verficação do status do registro e percorro o DataList fazendo a devida alteração. Teoricamente era pra tudo funcionar sem problemas, mas o navegador la na barra de status fica como se tivesse carregando a pagina a cada 3 seg, fazendo a aplicação ficar muito lenta! alguém teria alguma ideia de como resolver isto? Obrigado!!!
  8. então Quintelab, eu não consulto a base de dados dentro do Timer, no evento Tick eu consulto uma porta socket que me retorna o status do registro, tipo "Ativo" ou "Inativo", meu evento do Timer inicia assim: protected void Timer1_Tick(object sender, EventArgs e) { if (Session.Count == 0) { Response.Redirect("Login.aspx"); } Timer1.Enabled = false; Eu desabilito ele para não fazer uma solicitação em cima da outra, e só habilito quando termino de fazer a verificação, eu consegui monitorar o tempo que demora para finalizar todo esse evento Tick, e o tempo foi de em media 1 seg. Achei estranho o fato da pagina la no rodape ficar como se tivesse carregando a cada 2 seg, imaginei que o UpdatePanel não deixaria isso acontecer... Se fosse possivel eu jogar o UpdatePanel dentro apenas do ItemTemplate do DataList provavel que não ficaria tão lento...
  9. Não sei se tem alguma coisa haver, mas o Timer faz com que aquela barra de progresso no rodapé do IE fique carregando o tempo todo... não ocorre refresh por causa do UpdatePanel, mas fica como se a página não estivesse completamente carregada! O código é esse : <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:DataList ID="dtlMonitoracao" runat="server" RepeatColumns="4" RepeatDirection="Horizontal" OnItemCommand="dtlMonitoracao_ItemCommand"> <ItemTemplate> <asp:Panel ID="pnlCanais" runat="server" CssClass="fundoPainel"> <table width="200px" height="70px" align="center"> <tr valign="top"> <td> <asp:ImageButton ID="imgStatus" runat="server" CssClass="transparenciaPNG" ImageUrl="/App_Themes/Imagens/status_erro.png" CommandName="ExibirGravacoes" CommandArgument='<%# Eval("STATUS").ToString() %>' /> </td> <td> <asp:Label ID="lblCanais" runat="server" Text='<%# "Canal " + Eval("Canal").ToString() %>' Font-Bold="True"></asp:Label> </td> </tr> <tr valign="bottom"> <td> <asp:ImageButton ID="imgOuvir" runat="server" CssClass="transparenciaPNG" ImageUrl="/App_Themes/Imagens/falante.png" CommandName="ExecutaAudio" CommandArgument='<%# Eval("CANAL").ToString() %>' /> </td> <td> <asp:Label ID="lblRamais" runat="server" Text='<%# Eval("RAMAIS").ToString() %>' Font-Bold="True"></asp:Label> </td> </tr> </table> </asp:Panel> <cc1:RoundedCornersExtender ID="RoundedCornersExtender1" runat="server" TargetControlID="pnlCanais" Corners="All" BorderColor="#638CB5" Radius="10"> </cc1:RoundedCornersExtender> </ItemTemplate> </asp:DataList> <asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Enabled="true" Interval="2000"></asp:Timer> <br /> <br /> </ContentTemplate> </asp:UpdatePanel>
  10. Pessoal, estou desenvolvendo uma aplicação em C#, e estou com um problema. Seguinte, tenho um DataList que esta dentro de um UpdatePanel, criei um Timer nesse UpdatePanel, para fazer a atualização do status do registro a cada 2seg. Este mecanismo esta funcionando muito bem, porém quando fico por volta de 20 minutos nessa tela que executa o Timer, e clico em outro menu para abrir outra pagina, o tempo de resposta fica muito lento e algumas vezes o navegador fica Sem Resposta e é preciso fechar o navegador. já tentei de tudo, fiz o teste com o GridView e permanece com este mesmo problema... se alguém soubeer favoor me da alguma sugestão para resolver... Obrigado!!!
  11. VB6DeveloperJr

    Buffer em C#

    Pessoal, estou com um problema meio complicado, acontece o seguinte... Tenho um arquivo de audio .wav que preciso executar enquanto esta sendo gerado. Na minha aplicação tenho esta ferramenta para exibir o MediaPlayer! http://www.beansoftware.com/Free-ASP.NET-C...er-Control.aspx O problema é que, o WMP não 'deixa' abrir o arquivo de audio enquanto esta sendo gerado (existe o arquivo, mas o tamanho em Kbytes dele esta aumentando a cada seg que passa). Eu preciso fazer como se fosse carregar uma música pela internet, que depois que é carregado um pouco podemos escutar ao mesmo tempo que é carregado! alguém tem alguma ideia de como se fazer isso?? Caso não tenha sido muito claro por favor perguntem!!! obrigado!
  12. Galera, consegui resolver! imaginei que para enviar e receber strings da Porta socket, é necessário um tempo para que a aplicação entenda o que deve ser feito, usando esse código funcionou sem precisar dos BreakPoint! using System.Threading; Thread.Sleep(1000); socket.SendText("10"); Thread.Sleep(1000); strRetorno = socket.ReceivedText; Só fiz a aplicação 'durmir' durante 1 segundo que funcionou!!! :rolleyes:
  13. Pessoal, não faço idéia do que possa ser esse problema, estou usando o System.Net.Sockets, faço a conexão, envio uma mensagem para receber uma string com as informações! agora acreditem!!! quando eu coloco um breakPoint na linha em que é enviado a mensagem, e na linha que retorna a string: socket.SendText("10"); string a = socket.ReceivedText; a string com as informações retorna normalmente, o problema é: Quando eu executo a aplicação sem breakPoint a string não me retorna nada!!!! Não faço ideia onde começar a procurar para resolver isso! porque afinal o código esta certo, pois quando eu debugo funciona, agora se eu tira um dos breakPoints dessas linhas a string retorna vazia!!! Obs. Usei essa classe para trabalhar com socket: http://www.linhadecodigo.com.br/Dica.aspx?id=1288 Mas acho que isso não vem ao caso, meu problema é só saber o que acontece de diferente quando eu debugo e quando eu executo a aplicação sem breakpoint! é eu sei isso é muito estranho...
  14. Pessoal, desculpem eu não havia pesquisado direito antes de postar, a resolução para o meu problema: http://sites.google.com/site/arlen4mysite/...k-for-templatef A unica coisa que acontece agora, é que eu preciso esperar cerca de 3 seg. para clicar novamente no TemplateField, senão não ocorre o PostBack, vai entender esse UpdatePanel não é? talvez seja porque estou usando um Timer de 1,5 seg na pagina <_< Obrigado pela ajuda!!!
  15. quintelab, eu entendi o conceito para adicionar trigger de um controle normal em tela, porém ainda não consegui adicionar uma trigger um ImageButton dentro do ItemTemplate de um GridView, não sei se para isso é necessario fazer pelo Code-Behind no evento RowDataBound assim: protected void gdv_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { ImageButton btnStatus= new ImageButton(); btnStatus = (ImageButton)e.Row.FindControl("imgStatus"); if (btnStatus!= null) { AsyncPostBackTrigger trigger = new AsyncPostBackTrigger(); trigger.ControlID = "btnStatus"; //trigger.EventName = "Click"; UpdatePanel1.Triggers.Add(trigger); if (status == 1 ) { btnStatus.ImageUrl = "/App_Themes/Imagens/status.png"; } else { btnStatus.Visible = false; } } } } ou simplesmente no Aspx : <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode ="Conditional" > <Triggers> <asp:PostBackTrigger ControlID = "imgStatus"/> </Triggers> <ContentTemplate> <asp:GridView ID="gdvCanais" runat="server" AllowPaging="True" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="Horizontal" onpageindexchanging="gdvCanais_PageIndexChanging" DataKeyNames="SERV_ID,CAMINHO" onrowdatabound="gdvCanais_RowDataBound" PageSize="15" Width="769px" onrowcommand="gdvCanais_RowCommand"> <Columns> <asp:TemplateField HeaderText="Status"> <ItemTemplate> <asp:ImageButton ID="imgStatus" runat="server" CommandArgument = '<%Eval("CANAL")%>' /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </ContentTemplate> </asp:UpdatePanel> Colocando direto no Aspx aparece o erro: A control with ID 'imgStatus' could not be found for the trigger in UpdatePanel 'UpdatePanel1'. Enfim, alguma ideia?
×
×
  • Criar Novo...