⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vojxtacallcontrol.java

📁 jxta官方例程
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                return rtn;    }        /**     *  Statistical accessor     */    public int getIncomingBufferSize () {                return speakerControl.getBufferSize ();    }        /**     *  Statistical accessor     */    public int getIncomingBufferCapacity () {                return speakerControl.getBufferCapacity ();    }        /**     *  Statistical accessor     */    public int getOutgoingBufferSize () {                return micControl.getBufferSize ();    }        /**     *  Statistical accessor     */    public int getOutgoingBufferCapacity () {                return micControl.getBufferCapacity ();    }            /**     *  Command StartAccept received from remote     */    protected void localActionStartAcceptReceived (DialogMessage msg) {                        MessageElement me = msg.getMessageElement (this.TAG_QUALITY_ELEMENT);                if(me != null) {                        ByteArrayMessageElement remoteVoiceQualityElement = (ByteArrayMessageElement) me;                        String remoteVoiceQualityString = remoteVoiceQualityElement.toString ();                        if( remoteVoiceQualityString != null) {                                setRemoteVoiceQuality (remoteVoiceQualityString);                            }        }    }            /**     *  Command SendStartRquest to remote.     */    protected void localActionSendStartRequest () {                /*         DialogMessage startRequestMsg = (DialogMessage)templateMessage.clone ();                 StringMessageElement commandElement = new StringMessageElement (                TAG_SESSION_COMMAND, this.COMMAND_VOJXTA_START_REQUEST, null);                 startRequestMsg.addMessageElement (TAG_SESSION_COMMAND, commandElement);                 String voiceQualityString = String.valueOf (getLocalVoiceQuality ());                 StringMessageElement voiceQualityElement = new StringMessageElement (                TAG_QUALITY_ELEMENT, voiceQualityString, null);                 startRequestMsg.addMessageElement (TAG_QUALITY_ELEMENT, voiceQualityElement);                 this.vojxtaDialog.dispatch (startRequestMsg);         */                String voiceQualityString = String.valueOf (getLocalVoiceQuality ());                StringMessageElement voiceQualityElement = new StringMessageElement (                TAG_QUALITY_ELEMENT, voiceQualityString, null);                HashMap elementMap = new HashMap ();                elementMap.put (TAG_QUALITY_ELEMENT,voiceQualityElement);                sendCommand (this.COMMAND_VOJXTA_START_REQUEST,                this.COMMAND_VOJXTA_START_ACCEPT,                elementMap);                setProtocolState (this.SESSION_VOJXTA_START_REQUEST_SENT);            }            /**     *  Command StartRquest received from remote     */    protected void localActionStartRequestReceived (DialogMessage msg) {                /** retrieve the quality element */        MessageElement me = msg.getMessageElement (this.TAG_QUALITY_ELEMENT);                if(me != null) {                                                ByteArrayMessageElement remoteVoiceQualityElement = (ByteArrayMessageElement) me;                        String remoteVoiceQualityString = remoteVoiceQualityElement.toString ();                        if( remoteVoiceQualityString != null) {                                setRemoteVoiceQuality (remoteVoiceQualityString);                            }                        /** determine who has the lowest quality and send to remote */                        String commonVoiceQualityString = String.valueOf (getMinimumVoiceQuality ());            /*            DialogMessage startAcceptMsg = (DialogMessage)templateMessage.clone ();                         StringMessageElement commandElement = new StringMessageElement (                    TAG_SESSION_COMMAND, this.COMMAND_VOJXTA_START_ACCEPT, null);                         startAcceptMsg.addMessageElement (TAG_SESSION_COMMAND, commandElement);                         StringMessageElement voiceQualityElement = new StringMessageElement (                    TAG_QUALITY_ELEMENT, commonVoiceQualityString, null);                         startAcceptMsg.addMessageElement (TAG_QUALITY_ELEMENT, voiceQualityElement);                         this.vojxtaDialog.dispatch (startAcceptMsg);             */            StringMessageElement voiceQualityElement = new StringMessageElement (                    TAG_QUALITY_ELEMENT, commonVoiceQualityString, null);                        HashMap elementMap = new HashMap ();                        elementMap.put (TAG_QUALITY_ELEMENT, voiceQualityElement);                        sendCommand (this.COMMAND_VOJXTA_START_ACCEPT, null, elementMap);                        setProtocolState (this.SESSION_VOJXTA_START_ACCEPT_SENT);                    }else{            if(LOG.isEnabledFor (Level.INFO) ){                LOG.info ("remote voice quality element is NULL");            }        }    }        /**     *  Sets if this sesseion is to be persisted     *  TODO     */    public void setPersistSession (boolean persist, String fileName) {                this.sessionPersisted = persist;                this.sessionFileName = fileName;            }        /**     *  determines if this audio session is to be persisted     */    public boolean isSessionPersisted () {                return this.sessionPersisted;    }        /**     *  Return the file name to which we persist this audio session     */    public String getSessionPersistFileName () {                return this.sessionFileName;    }        /**     *  Called by UI to alert us to start this audio call     */    public void viewActionPlaceCall () {                sendCommand (this.COMMAND_VOJXTA_INVITE_REQUEST,this.COMMAND_VOJXTA_INVITE_ACCEPT);                setProtocolState (this.SESSION_VOJXTA_INVITE_REQUEST_SENT);    }            /**     *  Command EndCall reveived from remote peer     */    private void localActionEndCall () {                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("localActionEndCall");        }                setCallEndTime ();                receiveTimeoutThread.stopThread ();                if(micControl != null) {                        micControl.endMic ();                        micControl.releaseHardware ();        }                if(speakerControl != null) {                        speakerControl.endSpeaker ();                        speakerControl.releaseHardware    ();        }                            }            /**     *  start the audio controls for sending and receiving     */    private void localActionStartVoiceTransmision () {                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("localActionStartVoiceTransmision");        }                setCallStartTime ();                micControl.beginMic ();                speakerControl.beginSpeaker ();                receiveTimeoutThread = new ReceivedMessageTimeoutThread ();                receiveTimeoutThread.start ();            }        /**     *  Sets the time in ms this call started     */    protected void setCallStartTime () {                this.callStartTime = System.currentTimeMillis ();    }        /**     *  Sets the time in ms this call ended     */    protected void setCallEndTime () {                this.callEndTime = System.currentTimeMillis ();    }        /**     *  Command HoldCall reveived from remote     */    private void localActionHoldCall (boolean myHold) {                micControl.pauseMic ();                speakerControl.pauseSpeaker ();            }        /**     *  Command Resume call received from remote     */        /**     *  Command ResumeCall received from remote     */    private void localActionResumeCall () {                micControl.resumeMic ();                speakerControl.resumeSpeaker ();    }        /**     *  Command EndSession received from remote     */    private void localActionEndSession () {                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("localActionEndSession");        }                if(receiveTimeoutThread != null) {                        receiveTimeoutThread.stopThread ();        }                if(micControl != null) {                        micControl.endMic ();                        micControl.releaseHardware ();        }                if(speakerControl != null) {                        speakerControl.endSpeaker ();                        speakerControl.releaseHardware ();        }            }            /**     * Called from UI signaling user accepts call invitation     */    public void viewActionAcceptCall () {                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("viewActionAcceptCall");        }                sendCommand (this.COMMAND_VOJXTA_INVITE_ACCEPT, null);                setProtocolState (this.SESSION_VOJXTA_INVITE_ACCEPT_SENT);            }        /**     * Called from IU signaling user wishes to place call on hold.     */    public void viewActionHoldCall () {                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("viewActionHoldCall");        }                sendCommand (this.COMMAND_VOJXTA_HOLD_REQUEST, this.COMMAND_VOJXTA_HOLD_ACCEPT);                setProtocolState (this.SESSION_VOJXTA_HOLD_REQUEST_SENT);            }        /**     * Called from IU signaling user wishes to hangup call.     */    public void viewActionHangupCall () {                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("viewActionHangupCall");        }                sendCommand (this.COMMAND_VOJXTA_HANGUP_REQUEST,this.COMMAND_VOJXTA_HANGUP_ACCEPT);                setProtocolState (this.SESSION_VOJXTA_HANGUP_REQUEST_SENT);                setCallEndTime ();                micControl.endMic ();                micControl.releaseHardware ();                speakerControl.endSpeaker ();                speakerControl.releaseHardware    ();    }        /**     * Called from IU signaling user wishes to resume a call previsously placed     * on hold.     */    public void viewActionResumeCall () {                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("viewActionResumeCall");        }                sendCommand (this.COMMAND_VOJXTA_RESUME_REQUEST,this.COMMAND_VOJXTA_RESUME_ACCEPT);                setProtocolState (this.SESSION_VOJXTA_RESUME_REQUEST_SENT);            }        private void sendCommand (String command,String ackCommand) {                sendCommand (command,ackCommand, null);    }        /**     *  Sends a command on the vojxta dialog pipe. This does not change the     *  Protocol state. We have to remember to do this ourselves.     *     */    private void sendCommand (String command,String ackCommand, HashMap elementMap ) {                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("sendCommand : "+ command);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -