⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 music.h

📁 Actions ucOS-II mp3方案源码,可以做参考
💻 H
字号:
/*
*********************************************************************************************************
*                                                uC/OS-II
*                                          The Real-Time Kernel
*
*                            (c) Copyright 1992-2001, Jean J. Labrosse, Weston, FL
*                                           All Rights Reserved
*
* File : music.h
* By   : wurui
*********************************************************************************************************
*/
#include "declare.h"
#include "MusicPlayer.h"
#include "progbar.h"
#include "string.h"
#include "fileselect.h"
 
typedef struct 
{
    WM_HWIN                 SearchWin;    // 任务窗体模板入口
    WM_HWIN                ListWin;
    WM_HWIN                PlayWin;
    WM_HWIN                VolumWin;
    WM_HWIN             SliderWin;
    
    int                 CurWinSel;

    void                *point[3];    
    
    bool                music_selectflag;
    bool                RedrawFlag;            //+23
    BYTE                MusicABFlag;
    bool                ABFlashFlag;
    
    music_t             *g_music_var;
    char                filename[13];
    int                    fileno;
    unsigned char       PlayingTimeStub;

    int                  CurVolumn;
    int                  CurSelect;
    int                  LastSelect;
    BYTE                 lastkey;

    //fselector_t            g_fselector_vars;
}muisc_vars;

#define GET_FILENAME_RECT(FILENAME_RECT) {FILENAME_RECT.x0=2;\
                                            FILENAME_RECT.x1 = 86;\
                                            FILENAME_RECT.y0 = 30;\
                                            FILENAME_RECT.y1 = 40;}

#define GET_NOWTIME_RECT(NOWTIME_RECT) {NOWTIME_RECT.x0=40;\
                                            NOWTIME_RECT.x1 = 66;\
                                            NOWTIME_RECT.y0 = 2;\
                                            NOWTIME_RECT.y1 = 10;}

#define GET_TOTALTIME_RECT(TOTALTIME_RECT) {TOTALTIME_RECT.x0=40;\
                                            TOTALTIME_RECT.x1 = 66;\
                                            TOTALTIME_RECT.y0 = 10;\
                                            TOTALTIME_RECT.y1 = 20;}

#define GET_BITRATE_RECT1(BITRATE_RECT) {BITRATE_RECT.x0=2;\
                                            BITRATE_RECT.x1 = 18;\
                                            BITRATE_RECT.y0 = 2;\
                                            BITRATE_RECT.y1 = 10;}

#define GET_BITRATE_RECT2(BITRATE_RECT) {BITRATE_RECT.x0=20;\
                                            BITRATE_RECT.x1 = 34;\
                                            BITRATE_RECT.y0 = 2;\
                                            BITRATE_RECT.y1 = 10;}

#define GET_MODE_RECT(BITRATE_RECT) {BITRATE_RECT.x0=2;\
                                            BITRATE_RECT.x1 = 33;\
                                            BITRATE_RECT.y0 = 10;\
                                            BITRATE_RECT.y1 = 20;}
                                            
/***********for testing**************/
void test1(muisc_vars *MusicTaskVars);
void test2(muisc_vars *MusicTaskVars);

void Music_BackToMainTask(muisc_vars *MusicTaskVars);
void Music_BackToListWindow(muisc_vars *MusicTaskVars);
void Music_CreateListWindow(muisc_vars *MusicTaskVars);
void Music_CreatePlayingWindow(muisc_vars *MusicTaskVars);
void Music_CreateVolumnWindow(muisc_vars *MusicTaskVars);
void Music_DeleteAllWindow(muisc_vars *MusicTaskVars);
void Music_DeletePlayingWindow(muisc_vars *MusicTaskVars);
void Music_DeleteVolumnWindow(muisc_vars *MusicTaskVars);
void Music_ShowWaitingWindow(muisc_vars *MusicTaskVars);
void Music_ShowSelectWindow(muisc_vars *MusicTaskVars);
void Music_DealKeyMessage(muisc_vars *MusicTaskVars,msg_t *msg);
void Music_SelectSong(muisc_vars *MusicTaskVars);
bool Music_SelectVolumn(muisc_vars *MusicTaskVars);
void Music_StopSong(muisc_vars *MusicTaskVars);
void Music_PauseSong(muisc_vars *MusicTaskVars);
void Music_AddVolumn(muisc_vars *MusicTaskVars);
void Music_SubVolumn(muisc_vars *MusicTaskVars);  
void Music_SetABPoint(muisc_vars *MusicTaskVars); 
void Music_FastForward(muisc_vars *MusicTaskVars);
void Music_FastBackward(muisc_vars *MusicTaskVars);
bool Music_FastStepStop(muisc_vars *MusicTaskVars);
void Music_RedrawSongInfo(muisc_vars *MusicTaskVars);
void Music_SelectKeyResolve(muisc_vars *MusicTaskVars);
void Music_ReadMusicVars(muisc_vars *MusicTaskVars); 
void Music_PlaySong(muisc_vars *MusicTaskVars);
void Music_ShowSearchBar(muisc_vars *MusicTaskVars);
void Music_DeleteSearchBar(muisc_vars *MusicTaskVars);
int Music_ListBox_GetMaxSel(muisc_vars *MusicTaskVars);

void Music_FastKeyClear(muisc_vars *MusicTaskVars);
void Music_ResolveTimeOut(muisc_vars *MusicTaskVars);
void Music_DecReachEnd(muisc_vars *MusicTaskVars);    
 
void cbCallBack_MusicSetVolumn(WM_MESSAGE *pMsg);
void cbCallBack_MusicPlayingWindow(WM_MESSAGE *pMsg);
void cbCallBack_MusicStopSongWindow(WM_MESSAGE *pMsg);

char *ConvertTimeToString(full_time_t time,char *string);
char *ConvertBitrateToString(BYTE bitrate[],char *string);
char *ConvertInt3ToString(int pecent,char *string);
char *GetCurMusicName(muisc_vars *MusicTaskVars,int sel);
void *OSGetTaskOwnPtr1(int Task_Style);

void Music_DealPlayerMessage(muisc_vars *MusicTaskVars , msg_t *msg);
void Music_DealPlayerErr(muisc_vars *MusicTaskVars, msg_t *msg);
bool PlayerTaskDetect();

/********************************************************************/
void Music_DealFSelMessage(muisc_vars *MusicTaskVars, msg_t *msg);
void Music_SetLocation(muisc_vars *MusicTaskVars);
void Music_GetNextFile(muisc_vars *MusicTaskVars);
void Music_GetPrevFile(muisc_vars *MusicTaskVars);
void Music_ListBoxInc(muisc_vars *MusicTaskVars);
void Music_ListBoxDec(muisc_vars *MusicTaskVars);        
void Music_CloseFileSelector(muisc_vars *MusicTaskVars); 
void ResetListBox(muisc_vars *MusicTaskVars);
void Music_DealFSelErr(muisc_vars *MusicTaskVars, msg_t *msg);
/********************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -