Ir para conteúdo
Fórum Script Brasil
  • 0

AS 3.0 + FMS 3.2 (Uso de WebCam)


hara

Pergunta

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");
}

Editado por hara
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

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

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...