📄 call.java
字号:
/**
* End a CALL.
* @throws SkypeException when connection is bad.
*/
public void finish() throws SkypeException {
setStatus("FINISHED");
}
/**
* Answer a ringing CALL.
* @throws SkypeException when connection is bad.
*/
public void answer() throws SkypeException {
setStatus("INPROGRESS");
}
/**
* Cancel a CALL.
* @throws SkypeException when connection is bad.
*/
public void cancel() throws SkypeException {
setStatus("FINISHED");
}
/**
* Change the status of this CALL object.
* @param status The new status to set.
* @throws SkypeException when connection is bad.
*/
private void setStatus(final String status) throws SkypeException {
try {
String response = Connector.getInstance().executeWithId("SET CALL " + getId() + " STATUS " + status, "CALL " + getId() + " STATUS ");
Utils.checkError(response);
} catch (ConnectorException e) {
Utils.convertToSkypeException(e);
}
}
/**
* Forward a ringing CALL to profile forwarding rule.
* @throws SkypeException when connection is bad.
*/
public void forward() throws SkypeException {
Utils.executeWithErrorCheck("ALTER CALL " + getId() + " END FORWARD_CALL");
}
/**
* Redirect a ringing CALL to a voice mail.
* @throws SkypeException when connection is bad.
*/
public void redirectToVoiceMail() throws SkypeException {
Utils.executeWithErrorCheck("ALTER CALL " + getId() + " END FORWARD_CALL");
}
/**
* Send a DTMF command.
* @throws SkypeException when connection is bad.
*/
public void send(DTMF command) throws SkypeException {
Utils.executeWithErrorCheck("SET CALL " + getId() + " DTMF " + command.getType());
}
/**
* Get the starttime of this CALL object.
* @return the starttime.
* @throws SkypeException when connection is bad.
*/
public Date getStartTime() throws SkypeException {
return Utils.parseUnixTime(getProperty("TIMESTAMP"));
}
/**
* Return the Skype user who is the partner in this CALL.
* @return the other Skype user.
* @throws SkypeException when connection is bad.
*/
public User getPartner() throws SkypeException {
return User.getInstance(getPartnerId());
}
/**
* Return the Skype handle of the other user in this CALL.
* @return The handle.
* @throws SkypeException when connection is bad.
*/
public String getPartnerId() throws SkypeException {
return getProperty("PARTNER_HANDLE");
}
/**
* Return the DISPLAYNAME of the other user in this CALL.
* @return DISPLAYNAME.
* @throws SkypeException when connection is bad.
*/
public String getPartnerDisplayName() throws SkypeException {
return getProperty("PARTNER_DISPNAME");
}
/**
* Return the type of this call.
* @return call type.
* @throws SkypeException when connection is bad.
*/
public Type getType() throws SkypeException {
return Type.valueOf(getProperty("TYPE"));
}
/**
* Return the current status of this CALL.
* @return Status of this call.
* @throws SkypeException when connection is bad.
*/
public Status getStatus() throws SkypeException {
// call Utils#getPropertyWithCommandId(String, String, String) to prevent new event notification
return Status.valueOf(Utils.getPropertyWithCommandId("CALL", getId(), "STATUS"));
}
/**
* Return the duration of this CALL.
* @return duration of this call.
* @throws SkypeException when connection is bad.
*/
public int getDuration() throws SkypeException {
return Integer.parseInt(getProperty("DURATION"));
}
/**
* Return the reason of failure.
* @return FAILUREREASON.
* @throws SkypeException when connection is bad.
*/
public int getErrorCode() throws SkypeException {
return Integer.parseInt(getProperty("FAILUREREASON"));
}
/**
* Start or stop receiving video on this call.
* @param videoStatus enable = true.
* @throws SkypeException when connection is bad.
*/
public void setReceiveVideoEnabled(final boolean videoStatus) throws SkypeException {
String value = videoStatus ? "START_VIDEO_SEND" : "STOP_VIDEO_SEND";
try {
String response = Connector.getInstance().execute("ALTER CALL " + getId() + " " + value);
Utils.checkError(response);
} catch (ConnectorException e) {
Utils.convertToSkypeException(e);
}
}
/**
* Check if video receiving is enabled for this CALL.
* @return true if enabled.
* @throws SkypeException when connection is bad.
*/
public boolean isReceiveVideoEnabled() throws SkypeException {
VideoEnabledStatus enabled = VideoEnabledStatus.valueOf(getProperty("VIDEO_STATUS"));
switch (enabled) {
case VIDEO_NONE:
case VIDEO_SEND_ENABLED:
return false;
case VIDEO_RECV_ENABLED:
case VIDEO_BOTH_ENABLED:
return true;
default:
return false;
}
}
/**
* Start or stop sending video with this call.
* @param videoStatus enable = true.
* @throws SkypeException when connection is bad.
*/
public void setSendVideoEnabled(final boolean videoStatus) throws SkypeException {
String value = videoStatus ? "START_VIDEO_RECEIVE" : "STOP_VIDEO_RECEIVE";
try {
String response = Connector.getInstance().execute("ALTER CALL " + getId() + " " + value);
Utils.checkError(response);
} catch (ConnectorException e) {
Utils.convertToSkypeException(e);
}
}
/**
* Check if video sending is enabled for this CALL.
* @return true if enabled.
* @throws SkypeException when connection is bad.
*/
public boolean isSendVideoEnabled() throws SkypeException {
VideoEnabledStatus enabled = VideoEnabledStatus.valueOf(getProperty("VIDEO_STATUS"));
switch (enabled) {
case VIDEO_NONE:
case VIDEO_RECV_ENABLED:
return false;
case VIDEO_SEND_ENABLED:
case VIDEO_BOTH_ENABLED:
return true;
default:
return false;
}
}
/**
* Return the status of receiving video with this CALL.
* @return videoStatus of this call.
* @throws SkypeException when connection is bad.
*/
public VideoStatus getReceiveVideoStatus() throws SkypeException {
return VideoStatus.valueOf(getProperty("VIDEO_RECEIVE_STATUS"));
}
/**
* Return the status of sending video with this CALL.
* @return videoStatus of this call.
* @throws SkypeException when connection is bad.
*/
public VideoStatus getSendVideoStatus() throws SkypeException {
return VideoStatus.valueOf(getProperty("VIDEO_SEND_STATUS"));
}
/**
* Return the conference ID of this CALL.
* @return The conference ID
* @throws SkypeException when connection is bad.
*/
public String getConferenceId() throws SkypeException {
return getProperty("CONF_ID");
}
public String getParticipantsCount() throws SkypeException {
return getProperty("CONF_PARTICIPANTS_COUNT");
}
/**
* Return property of this CALL.
* @param name property name.
* @return The value of the property.
* @throws SkypeException when connection is bad.
*/
private String getProperty(final String name) throws SkypeException {
return Utils.getProperty("CALL", getId(), name);
}
/**
* Check if an event is fired.
* @return true if fired.
*/
boolean isCallListenerEventFired() {
return isCallListenerEventFired;
}
/**
* Set the eventfired flag.
* @param fired the value of the flag.
*/
void setCallListenerEventFired(final boolean fired) {
isCallListenerEventFired = fired;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -