TEASOFT辅助服务程序UDPCopy 功能介绍

举报
tsinghuazhuoqing 发表于 2022/03/16 00:02:30 2022/03/16
【摘要】 简 介: 借助于嵌入式工控机作为音乐伺服器,完成背景音乐输出控制。本文总结了TEASOFT相应的控制命令。除了现在的功能之外,还需要进一步补充MUSIC嵌套功能。 关键词: MUSIC,TEAS...

简 介: 借助于嵌入式工控机作为音乐伺服器,完成背景音乐输出控制。本文总结了TEASOFT相应的控制命令。除了现在的功能之外,还需要进一步补充MUSIC嵌套功能。

关键词 MUSICTEASOFTUDPCOPY

功能介绍
目 录
Contents
服务程序
程序界面与功能
UDP命令转发
音乐命令
TEASOFT命令调用
MiniPro控制命令
Music控制命令
功能总结

 

§01 能介绍


  于TEASOFT进行MOOC短视频制作时,使用一台嵌入式工控机运行辅助程序,提供如下功能:

  服务程序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.1 UDPCopy 程序界面

1.1.2 UDP命令转发

  在UDP命令转发界面中,设置 TargetIP ,Port 为局域网内 RGBLink MiniPro对应的通讯IP地址和端口。设置完毕之后,电机“Set UDP” 将输入的参数配置到UDP控件中。

▲ 图1.1.3 UDPCopy 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)音乐命令表格

  根据接收到的命令字符的前缀,执行音乐命令。下面给出了每个命令的前缀及其功能。

【表1-1 音乐命令表格】

命名名称 前缀 功能描述
停止音乐 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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200