Gravando uma Conversa
Início  Anterior  Próximo



A VoicerLib permite gravar qualquer conversa tanto pelo headset como pelo monofone (aparelho comum). Para isso é necessário chamar o método RecordFile onde você deve informar o nome do arquivo que será criado.

O sistema utiliza o formato SIG ou o formato Wave (8 Bits, Mono, 8 Khz).

Além disso, é possível determinar se algum dígito será utilizado como finalizador de gravação. Esta característica permite uma implementação do tipo: "Grave seu recado e ao final digite # se quiser falar com a telefonista".

O dígito detectado (se usado) é armazenado na propriedade Digits, e pode ser tratado posteriormente.

Dependendo do fluxo de operação do sistema desenvolvido, é necessário que a propriedade Digits vá acumulando os digitos detectados. Neste caso é necessário mudar a propriedade AutoClearDigits para false, pois o padrão true faz com que a propriedade Digits seja automaticamente apagada quando uma gravação é iniciada.

Sempre quando for iniciada a gravação o evento OnRecordStart é gerado, permitindo tratamento nesta situação. Durante a gravação a propriedade Recording estará TRUE.

Ao término da gravação o evento OnRecordStop é gerado automaticamente, inclusive informando qual o motivo da interrupção da gravação.

Este motivo pode ser uma ação direta do operador (com a chamada do método StopRecordFile), um dígito recebido ou ainda um erro qualquer (disco cheio, por exemplo).

Exemplo:

Após falar: "Grave seu recado e ao final digite # se quiser falar com a telefonista", o sistema iniciará a gravação. Se for detectado o #, discará para o ramal 200.
 
Private Sub DeixarRecado()  
   '.... código para falar a mensagem ....  
   'Inicia gravação  
   VoicerLibX1.RecordFile(1,"c:\recado.sig,"#")  
   'Lembre que o programa segue o fluxo normal após iniciada  
   'a gravação  
 
End Sub  
 
'Rotina de tratamento do click de um botão para o caso de o  
'operador parar a gravação manualmente  
Private Sub cmdParaGravar_Click()  
   VoicerLibX1.StopRecordFile(1)  
End Sub  
 
'Evento que ocorre quando a gravação é finalizada  
'É necessário analisar o motivo  
Private Sub VoicerLibX1_OnRecordStop(ByVal Port as Integer,   
                              Status As VoicerLib.TxStopStatus)  
Select Case Status  
 Case ssStopped:  
   'Gravação interrompida pelo operador   
   VoicerLibX1.HangUp 1  
 Case ssDigitReceived:  
   'Recebeu o digito finalizador  
   'Transfere para a telefonista  
   if Digits = "#" then  
      VoicerLibX1.Flash 1,600,1000  
      VoicerLibX1.Dial 1,"200",1000  
           VoicerLibX1.HangUp 1  
      end if  
    End Select  
End sub  
 
Além disso, é possível monitorar o andamento da gravação através do evento OnRecording. O parâmetro Duration indica a quantidade de segundos decorridos até aquele momento.

A gravação pelo monofone conectado na VoicerPhone ISA ou através do cabo especial da VoicerBox PCI/4 pode ser iniciado através do evento OnLineReady e finalizada através do evento OnLineOff.

A partir da versão 2.2, está disponível o método RecordPause, que permite interromper temporariamente uma gravação e em seguida continuar no mesmo arquivo. Neste método é necessário passar a porta e uma flag booleano indicando se coloca em pausa (TRUE) ou retira da pausa (FALSE).