Ir para conteúdo
Fórum Script Brasil

hara

Membros
  • Total de itens

    98
  • Registro em

  • Última visita

Posts postados por hara

  1. Pessoal,

    Estou com uma dúvida que pode até ser simples, mas já gastei uns 3 dias tentando.

    Gostaria de fazer um chat com WebCam em Flex 3 + Action Script 3.0 e Flash Media Server 3.2 no conceito de 1 para 1 e também gostaria de gravar a exibição das 2 WebCam's simultâneas.

    Aí vem o grande problema, como o Flash tem a tela de autorização de WebCam, cada gravação começa num horário e acaba não ficando simultâneo na hora de ver a gravação.

    Alguém teria alguma idéia de como gerar apenas um FLV com as 2 WebCam's ou mesmo gravar 2 FLV´s porém simultâneos?

    Vou postar o código de como está hoje, pois pode ser útil para mais alguém...

    if(nc) nc.close();
    
    nc = new NetConnection();
    nc.addEventListener(NetStatusEvent.NET_STATUS, nc_NET_STATUS);
    nc.proxyType = "best";
    nc.connect("rtmp://" + _Server + ":" + _Port + "/" + _Application + "/" + _CallId);
    
    private function nc_NET_STATUS(event:NetStatusEvent):void
    {
        switch(event.info.code)
        {
            case "NetConnection.Connect.Success":
                cCam = Camera.getCamera();
                if(cCam)
                {
                    cCam.setMode(215, 138, 30);
                    cCam.setQuality(0, 0);
                }
                cMic = Microphone.getMicrophone();
    
                            var Video1:Video = new Video(215, 138);
                Video1.attachCamera(cCam);
                VideoComponent1.addChild(Video1);
    
                nsPub = new VideoNetStream(nc);
                nsPub.attachCamera(cCam);
                nsPub.attachAudio(cMic);
                
                nsCli = new VideoNetStream(nc);
                var Video2:Video = new Video(215, 138);
                Video2.attachNetStream(nsCli);
                VideoComponent2.addChild(Video2);
                                    
                switch(int(_Type))
                {
                    case 0:
                        nsPub.publish("client_" + _CallId);
                        
                        nsCli.play("user_" + _CallId);
                        StreamToRecord = "client_" + _CallId;
                        break;
                    case 1:
                        nsPub.publish("user_" + _CallId);
                        
                        nsCli.play("client_" + _CallId);
                        StreamToRecord = "user_" + _CallId;
                        break;
                }
                
                RecordCall();
                
                break;
            case "NetConnection.Connect.Rejected":
                cnTimer.stop();
                Alert.show("Exibição do aplicativo \nnão permitida.", "Erro")
                break;
            case "NetStream.Publish.BadName":
            
                break;
        }
    }
    
    private function RecordCall():void
    {
            nsRec = new VideoNetStream(nc);
            nsRec.attachAudio(cMic);
            nsRec.attachCamera(cCam);
            nsRec.publish("rec_" + StreamToRecord , "record");
    }

  2. Uma idéia seria...

    Cria uma váriavel na tela principal do tipo integer.

    Coloca essa váriavel como 1 e logo já abre uma nova janela com o form que você quer.

    Coloca o visible = false e o showintaskbar = false para o form principal.

    Toda vez que der um novo load de tela, você soma +1 na váriavel e toda vez que fechar -1.

    Deixa um timer rodando a cada x segundos na tela principal que checa a váriavel e quando a váriavel for 0, você força um comando para fechar todo o aplicativo.

    Não é uma idéia muito criativa, mas deve resolver.

  3. Tenta sempre que for passar uma data para o banco, formatar para o formato universal do SQL Server...

    DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")

    Quando receber uma data que não seja a data atual, tente:

    DateTime data = Convert.ToDateTime("18/8/2008 11:00");

    data.ToString("yyyy-MM-dd hh:mm:ss")

  4. eu comprei uma bematech e no site tinha exemplos em .net...

    no site do fabricante da sua impressora não tem nada?

    qualquer coisa, tenta baixar o da bematech e ver se dá para ajustar para suas necessidades e drivers...

    www.bematech.com.br/software

  5. Tenta usar a classe System.Data.OleDb para gerenciar seu Access... É bem mais produtivo...

    Exemplo em C#...

    using System.Data.OleDb;

    string sql = string.Empty;

    using (OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\mydatabase.mdb;User Id=admin;Password=;"))

    {

    cn.Open();

    sql = "SELECT usuario, senha FROM usuarios";

    using (OleDbCommand cm = new OleDbCommand(sql, cn))

    {

    using (OleDbDataReader dr = cm.ExecuteReader())

    {

    while (dr.Read())

    {

    MessageBox.Show(dr["usuario"].ToString() + " | " + dr["senha"].ToString());

    }

    }

    }

    }

  6. Se não me falha a memória, mas precisaria testar...

    Usa um DataSet e depois usa o ReadXML do DataSet para ler o XML gerado...

    Depois você pode usar grid.datasource = dataset...

  7. concordo que possa ser problema no IIS...

    qual a quantidade de conexões por minuto? se for uma quantidade expressiva, talvez seja necessário criar um pool de aplicação separado e tunar um pouco o machine.config, pois por padrão, ele não aceita muitas conexões...

  8. E ai galera beleza???

    Tem alguns meses que estou desenvolvendo em Asp.net c#, mais estou com dificuldades de como manipular o layout, e confesso isso ta deixando minhas criações um tanto que horriveis...rsrs!!!

    Poderiam tirar algumas duvidas minha.

    - já vi que é interessante criar o layout no dreamweaver, mas como migro esse layout ou template para o Visual Studio, qual a função??

    - Atualmente estou utilizando MASTER PAGE para preparar o layout da pagina no Visual Studio, esse é o melhor meio??

    Aguardo noticias...

    thiagohorta@gmail.com

    Obrigado.

    Thiago,

    Eu gero todos meus layouts no Dreamweaver e depois migro para o Visual Studio... Uso muito Master Page e Nested Master Page (uma dentro da outra) e não tenho muitos problemas em relação a layout...

    Um erro que muita gente comete é utilizar muita tabela para montar o layout e o Visual Studio está esperando XHTML... Então a melhor maneira é trabalhar no Dreamweaver com Tableless e utilizar-se ao máximo de CSS, assim fica muito fácil levar para o Visual Studio...

    Qualquer dúvida estou a disposição...

  9. e aew galera.. beleza??

    seguinte... to fazendo um browser..

    queria colocar um botao de abrir nova janela..

    a unica forma que eu pensei e fazer um process.start com o processo do meu programa..

    mas ai veio a duvida.. como vou saber o caminho de onde ta o programa??

    qual seria a soluçao pra isso??

    ou tem alguma forma melhor de fazer isoo??

    vlws ai..

    cara,

    algumas dúvidas...

    1. você está desenvolvendo um browser tipo IE em VB.Net?

    2. Caso sim, o seu browser é um windows forms?

    3. Se for Windows Forms, você pode instânciar várias vezes a mesma janela do Windows Forms, simulando abrir um novo browser. Resolveria?

    4. A necessidade do process.start seria apenas para abrir um programa que está fora do seu programa, como o próprio IE...

    Abs

  10. Não venho acompanhando o tópico, mas tem uma função que apaga todo o conteudo de um diretório, desde arquivos e subpastas !

    <?php
    /**
     * Delete a file, or a folder and its contents
     *
     * @author      Aidan Lister <aidan@php.net>
     * @version     1.0.1
     * @param       string   $dirname    Directory to delete
     * @return      bool     Returns TRUE on success, FALSE on failure
     */
    function rmdirr($dirname)
    {
        // Sanity check
        if (!file_exists($dirname)) {
            return false;
        }
    
        // Simple delete for a file
        if (is_file($dirname)) {
            return unlink($dirname);
        }
    
        // Loop through the folder
        $dir = dir($dirname);
        while (false !== $entry = $dir->read()) {
            // Skip pointers
            if ($entry == '.' || $entry == '..') {
                continue;
            }
    
            // Deep delete directories      
            if (is_dir("$dirname/$entry")) {
                rmdirr("$dirname/$entry");
            } else {
                unlink("$dirname/$entry");
            }
        }
    
        // Clean up
        $dir->close();
        return rmdir($dirname);
    }
    
    ?>
    

  11. Bind e Listen são usados para abrir uma porta para receber ou enviar dados !

    Tipo, por padrão o servidor já faz o bind das portas 21 (FTP), 80 (Web), 22 (SSH), 23 (Telnet)... Mas você pode abrir novos sockets para enviar e receber dados externos !

  12. Olá galera, tenho uma dúvida que creio ser simples... Porém eu sou bem iniciante em PERL !

    Criei o seguinte código em PERL:

    #!/usr/bin/perl -w
    
    use strict;
    use Socket;
    
    my $porta = 20000;
    my $proto = getprotobyname('tcp');
    
    socket(SERVER, PF_INET, SOCK_STREAM, $proto) or die "socket: $!";
    setsockopt(SERVER, SOL_SOCKET, SO_REUSEADDR, 1) or die "setsock: $!";
    
    my $paddr = sockaddr_in($porta, INADDR_ANY);
    
    bind(SERVER, $paddr) or die "bind: $!";
    listen(SERVER, SOMAXCONN) or die "listen: $!";
    print "Iniciando escuta na porta $porta\n";
    
    my $client_addr;
    while ($client_addr = accept(CLIENT, SERVER)){
      my ($client_port, $client_ip) = sockaddr_in($client_addr);
      my $client_ipnum = inet_ntoa($client_ip);
      my $client_host = gethostbyaddr($client_ip, AF_INET);
    
      print "Conexão cliente vinda de : $client_host", " [$client_ipnum]\n";
    
      print CLIENT "Alô mundo! Você se conectou!\n:";
      close CLIENT;
    } 

    Esse código abre uma porta e quando você se conecta por um cliente, ele dá a mensagem "Alô Mundo! Você se conectou!"

    Acontece que coloquei esse comando no cron como "/usr/bin/perl /home/user/script.pl" e agora ele tá aberto direto por mais que eu tenha tirado do cron. Alguém saberia me dizer como faço para fechá-lo ? Como faço para derrubar o bind que ele criou na porta 20000 ?

    Abraços e agradeço se puderem me ajudar

    Fernando Hara

  13. Aeee galera,

    Alguém tem a tradução do WHM e do CPanel para português ?

    Estou traduzindo aos poucos, mas tá dando um trabalhão danado...

    Agradeço se alguém puder ajudar... E se eu puder ajudar de alguma maneira, conte comigo...

    Abraços

  14. Se quiser salvar em arquivo XML para facilitar o uso em outros programas além do Flash, use o seguinte código:

    <?php
     include("mysql.php")
     $sql_select  = "SELECT distinctrow(categ_cod), categ_dsc, categ_arq from categorias ";
     $sql_select .= "order by categ_dsc ASC ";
     $ssecao = mysql_query($sql_select);
     $cont = "<estabelecimentos>\n";
     while ($rssecao = mysql_fetch_array($ssecao)){
       $codsecao = $rssecao["categ_cod"];
       $nomsecao = $rssecao["categ_dsc"];
       $arqsecao = $rssecao["categ_arq"];
       $cont .= "   <item arqsecao=\"$arqsecao\" nomsecao=\"$nomsecao\" codsecao=\"$codsecao\" />\n";
     }
     $cont .="</estabelecimentos>";
     $file=fopen('arquivo.xml',"w");
     fwrite($file,$cont);
     fclose($file);
    ?>

  15. Se quiser o conteúdo do arquivo PHP, aí vai:

    <?php
      include("mysql.php")
      $sql_select  = "SELECT distinctrow(categ_cod), categ_dsc, categ_arq from categorias ";
      $sql_select .= "order by categ_dsc ASC ";
      $ssecao = mysql_query($sql_select);
      print "<estabelecimentos>\n";
      while ($rssecao = mysql_fetch_array($ssecao)){
        $codsecao = $rssecao["categ_cod"];
        $nomsecao = $rssecao["categ_dsc"];
        $arqsecao = $rssecao["categ_arq"];
        print "   <item arqsecao=\"$arqsecao\" nomsecao=\"$nomsecao\" codsecao=\"$codsecao\" />\n";
      }
      print "</estabelecimentos>";
    ?>

  16. Olhem só:

    System.useCodePage=true;
    xmlObj = new XML();
    xmlObj.onLoad = readData;
    xmlObj.load( 'gethead.php' );
    xmlObj.ignoreWhite = true;
    
    function readData() {
    	node = this.firstChild;
    	var i=0;
    	b=60;
    	while(true) {
      nam = 'texto'+i;
      dfg.text = nam;
      a = a+1;
      b = b+15;
      setProperty("_root.ctx", _x, 60);
      setProperty("_root.ctx", _y, b);
      duplicateMovieClip("_root.ctx", nam, a);
      cn = node.childNodes[i];
      if( cn.nodeName eq 'item' ) {
      	_root.texto.text = 'sds';
      	codsecao += cn.attributes.codsecao + chr(13);
      	nomsecao += cn.attributes.nomsecao + chr(13);
      	arqsecao += cn.attributes.arqsecao + chr(13);
      	i++;
      } else {
      	break;
      }
    	}
    }
    Estou pegando algumas váriaveis de um banco de dados, eles retornam através de XML, tentei gerar um código para gerar vários botões de texto com essas váriaveis, sõ que no item
    _root.texto.text = 'sds';

    eu precisava que o item texto rodasse de acordo com 'i', exemplo texto1, texto2, texto3, texto4 ... só não sei como fazer isso...

    Se alguém puder me ajudar, ou precisar de maiores detalhes ou entender melhor, posta ae !!

    Valewzão

    Fernando Hara

×
×
  • Criar Novo...