You are here: CSP API Reference > 1 EXS & SwitchKit API Messages > Play File Modify 0x011C
SwitchKit Name
Type
EXS API and SwitchKit API message
Description
NOTE: This message applies to the DSP Series 2 card only.
Use this message to modify a current play file session. You can modify the gain and speed of the playback, pause or resume the playback, or skip forward or backward (in 100 ms increments) through the current file.
When modifying a file that is playing to a conference, use the Conference AIB instead of the Channel AIB. If you are modifying a file that is playing to a conference, use the optional File ID TLV. If you use the File ID TLV, all instances of that File ID being played in the specified conference are modified. If the File ID TLV is absent, all the files playing into that conference are modified.
Sent by
Host Application
Related API Messages
Play File Start, Play File Stop
SwitchKit Code
C Structure
typedef struct {
UBYTE AddrInfo[30];
UBYTE Action;
UBYTE DataType;
UBYTE TLVCount;
UBYTE Data[220];
} XL_PlayFileModify;
C Structure Response
typedef struct {
unsigned short Status;
UBYTE reserved6[13];
UBYTE AddrInfo[251];
} XL_PlayFileModifyAck;
C++ Class
class XLC_PlayFileModify : public XLC_OutboundMessage {
public:
const UBYTE *getAddrInfo() const;
UBYTE *getAddrInfo();
void setAddrInfo(UBYTE *x);
XBYTE getConferenceID() const;
void setConferenceID(XBYTE x);
XBYTE getParentConferenceID() const;
void setParentConferenceID(XBYTE x);
XBYTE getChildConferenceID() const;
void setChildConferenceID(XBYTE x);
XBYTE getSpan() const;
void setSpan(XBYTE x;
UBYTE getChannel() const;
void setChannel(UBYTE x);
UBYTE getAction() const;
void setAction(UBYTE x);
UBYTE getDataType() const;
void setDataType(UBYTE x);
UBYTE getTLVCount() const;
void setTLVCount(UBYTE x);
const UBYTE *getData() const;
UBYTE *getData();
void setData(UBYTE *x)
};
C++ Class Response
class XLC_PlayFileModifyAck : public XLC_OutboundMessage {
public:
unsigned short getStatus() const
void setStatus(unsigned short x)
const UBYTE *getAddrInfo() const;
UBYTE *getAddrInfo();
void setAddrInfo(UBYTE *x);
XBYTE getConferenceID() const;
void setConferenceID(XBYTE x);
XBYTE getParentConferenceID() const;
void setParentConferenceID(XBYTE x);
XBYTE getChildConferenceID() const;
void setChildConferenceID(XBYTE x);
XBYTE getSpan() const ;
void setSpan(XBYTE x) ;
UBYTE getChannel() const;
void setChannel(UBYTE x);
;
EXS API Hex Format
MESSAGE (White) |
RESPONSE (Gray) |
||
Byte |
Field Description |
Byte |
Field Description |
0 |
Frame (0xFE) |
0 |
Frame (0xFE) |
1, 2 |
Length (0x00NN) |
1, 2 |
Length (0x00NN) |
3, 4 |
Message Type (0x011C) |
3, 4 |
Message Type (0x011C) |
5 |
Reserved (0x00) |
5 |
Reserved (0x00) |
6 |
Sequence Number |
6 |
Same Sequence Number |
7 |
Logical Node ID |
7 |
Logical Node ID |
8 : |
AIB Address Method
|
8, 9 |
0x0001 Invalid TLV Data Software can't find the TLV Data Buffer. This can also 0x0003 Invalid number of TLVs There are no TLVs in the message. 0x0004 Invalid TLV Length The TLV length is different from what is expected. 0x0006 Invalid TLV Unknown TLV 0x000D Mandatory TLVs missing One or more mandatory TLVs are missing
Also see Common Response Status Values in the API Reference |
Number of AEs to follow |
10 |
AIB (same as message) |
|
AEs
Or
0x55 Conference ID or 0x45 Child Conference ID and |
11 |
Checksum |
|
: |
Action 0x00 Modify 0x01 Pause 0x02 Resume 0x03 Skip Forward 0x04 Skip Backward |
||
: |
Data Type 0x00 TLVs |
||
: |
Number of TLVs to Follow |
||
: |
TLVs If the Action field is Modify (0x00 ), these TLVs are optional:
If the Action field is Pause (0x01) or Resume (0x02), no TLVs are used
If the Action field is Skip Forward (0x03) or Skip Backward (0x04), this TLV is mandatory:
If the AIB specifies Conference ID (0x55) or Child Conference ID (0x45) use this TLV to indicate the file to be modified: |
||
: |
Checksum |