TEASOFT辅助服务程序UDPCopy 功能介绍
简 介: 借助于嵌入式工控机作为音乐伺服器,完成背景音乐输出控制。本文总结了TEASOFT相应的控制命令。除了现在的功能之外,还需要进一步补充MUSIC嵌套功能。
关键词
: MUSIC,TEASOFT,UDPCOPY
§01 功能介绍
基于TEASOFT进行MOOC短视频制作时,使用一台嵌入式工控机运行辅助程序,提供如下功能:
- 将TEASOFT发送的UDP数据转发解决WiFi与有限以太网之间控制命令传递:RGBLink命令进行转发;
- 播放背景音乐和卡效音乐;
服务程序UDPCopy 使用C++Builder编写,满足TEASOFT上述功能。
1.1 服务程序
程序所在的目录为:
d:\zhuoqing\window\cb\UDPCopy
1.1.1 程序界面与功能
UDPCopy程序具有两个功能界面:
- UDP界面:分别设置UDP命令转发IP地址和端口号;
- Music界面:设置背景音乐所在目录以及音频变化相关参数。
▲ 图1.1.1 UDPCopy 程序界面
1.1.2 UDP命令转发
在UDP命令转发界面中,设置 TargetIP ,Port 为局域网内 RGBLink MiniPro对应的通讯IP地址和端口。设置完毕之后,电机“Set UDP” 将输入的参数配置到UDP控件中。
▲ 图1.1.3 UDPCopy UDP命令转发界面
每次接收到UDP命令的时候,便会在信息窗口显示接收到的命令。
只有命令被 <> 尖括号包围,则转发给Target IP ,否则就由程序进行解析执行。详细的解析功能见下面的音乐命令。
1.1.3 音乐命令
命令定义以及相应的功能参见下面的代码实现。
(1)音乐命令代码
int TMainForm::ProcUDPCmd(char * pszCmd) {
char szCmd[0x200];
AnsiString str = pszCmd;
strcpy(szCmd, str.UpperCase().c_str());
if(strcmp(szCmd, "STOP") == 0) {
SetMusicStop();
} else if(strcmp(szCmd, "STOP1") == 0) {
SetMusicStop(1);
} else if(strcmp(szCmd, "NORMAL") == 0) {
SetMusicNormal();
} else if(strcmp(szCmd, "NORMAL1") == 0) {
SetMusicNormal(1);
} else if(strcmp(szCmd, "LARGE") == 0) {
SetMusicLarge();
} else if(strcmp(szCmd, "LARGE1") == 0) {
SetMusicLarge(1);
} else if(strcmp(szCmd, "QUITE") == 0) {
SetMusicQuite();
} else if(strcmp(szCmd, "QUITE1") == 0) {
SetMusicQuite(1);
} else if(strcmp(szCmd, "PLAY") == 0) {
TestBtnClick(NULL);
} else if(*(pszCmd) == '*') {
int nNumber = 0x3fff;
sscanf(pszCmd + 1, "%x", &nNumber);
if(MediaPlayer1->Mode == mpPlaying) {
float fTime = g_fMusicChangeTime;
MCChange(fTime, nNowVolumeValue, nNumber);
}
} else if(*(pszCmd) == '#') {
PlayMusic(pszCmd + 1, 1);
} else if(*(pszCmd) == '$' || *(pszCmd) == '|') {
PlayMusic1(pszCmd + 1);
} else {
PlayMusic(pszCmd);
}
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
(2)音乐命令表格
根据接收到的命令字符的前缀,执行音乐命令。下面给出了每个命令的前缀及其功能。
命名名称 | 前缀 | 功能描述 |
---|---|---|
停止音乐 | STOP | 将音乐渐变停止 |
停止音乐 | STOP | 将音乐立即停止 |
正常声高 | NORMAL | 将音量渐变到正常音高 |
正常音高 | NORMAL1 | 将音量立即修改到正常音高 |
最强声高 | LARGE | 将音量渐变到最大声响 |
最强声高 | LARGE1 | 将音量立即改成最大声响 |
静音声高 | QUITE | 将音量渐变到最低声响 |
静音声高 | QUITE1 | 将音量立即修改成静音音量 |
演奏 | PLAY | 模拟界面中的“Play”按钮 |
设置声高 | * | 将音量修改成制定音高。 *0000 - *FFFF |
演奏音乐 | # | 演奏音乐,声音渐变到正常 音高。这是一个重复播放器; |
演奏音乐 | $ | 利用MEDIAPlayer2 播放声响。MediaPlayer2永远只能播放一次, 不能够进行循环。 |
演奏音乐的文件名称在前缀字符之后,所在的目录在全局变量中。渐变时间由界面中的 Change TIme 决定。
播放音乐有两种:
- 能够循环进行播放:使用第一个播放器;
- 只能播放单次:使用第二个播放器;
在&#***#命令之后,如果前面不是STOP等直接的命令,则该命令就是重复播放器音乐文件名称。
1.2 TEASOFT命令调用
在TEASOFT中对于UDPCopy功能的调用包括两个方面:
- MiniPro 设定功能;
- 音乐控制功能;
1.2.1 MiniPro控制命令
关于MiniProc控制命令使用方法,参见在 UDP数据转发解决WiFi与有限以太网之间控制命令传递:RGBLink 中介绍。
1.2.2 Music控制命令
(1)按键命令
- p:发送“Play”
- P:切换声音正常和大声
(2)标准命令
- &#STOP#, &### :停止演奏;
- &#NORMAL#, &#NORMAL1#, &#LARGE#, &#LARGE1#, &#QUITE#, &#QUITE1#:见前面音乐命令表格;
- &#PLAY#:模拟界面中的“Play”按钮功能;
- &##music#,&#music#, &#$music#, &#|music#:演奏音乐;
※ 功能总结 ※
借助于嵌入式工控机作为音乐伺服器,完成背景音乐输出控制。本文总结了TEASOFT相应的控制命令。
除了现在的功能之外,还需要进一步补充MUSIC嵌套功能。
■ 相关文献链接:
● 相关图表链接:
文章来源: zhuoqing.blog.csdn.net,作者:卓晴,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuoqing.blog.csdn.net/article/details/123466257
- 点赞
- 收藏
- 关注作者
评论(0)