Karaoke 歌曲播放

来源:互联网 发布:淘宝法院拍卖网 编辑:程序博客网 时间:2024/05/17 09:32

歌曲播放流程

singersong界面点击列表

FormSingerSong::handlePlayClicked

  • 请求预约歌曲插入

    • 判断已经预约歌曲个数
    • 添加预约歌曲
      • 请求歌曲信息
      • 保存预约歌曲ID
        • 保存信息到 ../KARAOKE/CFG/ProgIdEx.bin
  • 跳转到播放界面

    • onActivated里播放歌曲appKRK playNextSong
      • if (config->getValue(“Random”))
        • 请求第一个预约歌曲 请求失败的话请求预约歌曲插入
      • if(reqDB != NULL && reqDB->ReqReservedSongCount() > 0)
        • 请求第一个预约歌曲 成功的话删除第一个预约歌曲
        • 通过歌曲下标播放歌曲

播放类型

  • PLAYER_TYPE_NONE = 0,
  • PLAYER_TYPE_VIDEO, 视频
  • PLAYER_TYPE_MUSIC, 音乐
  • PLAYER_TYPE_PICTURE,
  • PLAYER_TYPE_MUS, 音符图标
  • PLAYER_TYPE_COUNT,

音符歌曲播放 类型 MUS

  • FormPlay 播放下一首歌曲

    • 请求第一个预约歌曲
      • 请求失败的话请求随机歌曲插入预约
    • 如果预约数大于0且请求到了第一个预约歌曲

      • 删除第一个预约歌曲
      • 通过下标播放歌曲

        • 通过下标请求歌曲名,文件类型,媒体类型
        • db设置播放类型PLAY_SONG_TYPE_MIDI
      • 添加到MyHot列表(相当于添加到最近播放)

播放bug

  • 初设背景为图片并当前背景为图片时,MUK可以播放
  • 背景为图片时播放MTV,同时显示了背景图片和MTV

英文键盘按键对应处理

WIN32:#define M3D_UI_KEY_UP           mKey_Up#define M3D_UI_KEY_DOWN         mKey_Down#define M3D_UI_KEY_LEFT         mKey_Left#define M3D_UI_KEY_RIGHT        mKey_Right#define M3D_UI_KEY_ENTER        mKey_Enter      #define M3D_UI_KEY_POWER        mKey_Power#define M3D_UI_KEY_MUTE         mKey_Mute#define M3D_UI_KEY_BGV          mKey_BGV#define M3D_UI_KEY_OSD          mKey_OSD#define M3D_UI_KEY_NTSC         mKey_NTSC#define M3D_UI_KEY_HOME         mKey_Home#define M3D_UI_KEY_REPEAT       VK_F4 "F4"//'T'#define M3D_UI_KEY_DELETE       mKey_Delete#define M3D_UI_KEY_COPY         mKey_Copy#define M3D_UI_KEY_NUM_1        mKey_Num_1#define M3D_UI_KEY_NUM_2        mKey_Num_2#define M3D_UI_KEY_NUM_3        mKey_Num_3#define M3D_UI_KEY_NUM_4        mKey_Num_4#define M3D_UI_KEY_NUM_5        mKey_Num_5#define M3D_UI_KEY_NUM_6        mKey_Num_6#define M3D_UI_KEY_NUM_7        mKey_Num_7#define M3D_UI_KEY_NUM_8        mKey_Num_8#define M3D_UI_KEY_NUM_9        mKey_Num_9#define M3D_UI_KEY_PROG         mKey_PROG#define M3D_UI_KEY_NUM_0        mKey_Num_0#define M3D_UI_KEY_BKSP         mKey_BKSP#define M3D_UI_KEY_KARAOKE      mKey_Karaoke#define M3D_UI_KEY_SELECTED     mKey_Selected#define M3D_UI_KEY_SETUP     0X53 //'U'---'S':houhs reset#define M3D_UI_KEY_RETURN       VK_F9           // key return , F9 on PC#define M3D_UI_KEY_PLAY         VK_CONTROL  // key play, left Ctrl on PC keyboard :houhs add#define M3D_UI_KEY_STOP         mKey_Stop#define M3D_UI_KEY_PAUSE        VK_SPACE    //' 'WIN空格暂停 #define M3D_UI_KEY_NEXT         mKey_Next#define M3D_UI_KEY_KEYUP        mKey_Keyup#define M3D_UI_KEY_KEYDOWN      mKey_Keydown#define M3D_UI_KEY_TEMPOUP      mKey_Tempoup#define M3D_UI_KEY_TEMPODOWN    mKey_Tempodown#define M3D_UI_KEY_VOLUP        mKey_Volup#define M3D_UI_KEY_VOLDOWN      mKey_Voldown#define M3D_UI_KEY_MELODY_UP    mKey_Melodyup#define M3D_UI_KEY_MELODY_DOWN  mKey_Melodydown#define M3D_UI_KEY_RECORD       mKey_Record#define M3D_UI_KEY_VOCAL        mKey_Vocal#define M3D_UI_KEY_CHEER        mKey_Cheer#define M3D_UI_KEY_PREV         mKey_Prev#define M3D_UI_KEY_MTV          VK_F2 "F2" //#define M3D_UI_KEY_MP3          VK_F1 "F1" //#define M3D_UI_KEY_MOVIE        VK_F3 "F3" //#define M3D_UI_KEY_FAVORITE     mKey_Favorite#define M3D_UI_KEY_ECHOUP       mKey_other_Melodyup#define M3D_UI_KEY_ECHODOWN     mKey_other_Melodydown            PlayParam _playParam;            _playParam.SongPath = d_songPath;            M3D_DebugPrint("-------+++filepath====%s______", d_songPath.c_str());            _playParam.RecordPath = g_DownloadPath + "tmpRec.MP3";            //------need not change------------------            _playParam.IsRecord = false;            _playParam.NeedRecord = false;            _playParam.accomVol = 100;            _playParam.voiceVol = 100;            _playParam.micVolL = 100;            _playParam.micVolR = 100;            _playParam.wmicVolL = 100;            _playParam.wmicVolR = 100;            _playParam.echoVal = 100;            _playParam.tempoVal = 1000;            _playParam.toneVal = 0;            _playParam.FileType = d_fileType;            ret = (player->playSong(_playParam) == true);
0 0
原创粉丝点击