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

📄 musicplayer_waitplay.c

📁 Actions ucOS-II mp3方案源码,可以做参考
💻 C
字号:
/********************************************************************************
*                        SDK30F_D1
*                     music player main sub
*
*                (c) Copyright 2002, Actions Co,Ld.
*                        All Right Reserved
*
* File: musicplayer_WaitPlay.c
* By  : wurui
* Version: 1> v1.00     first version     2005-10-28 8:28
*
*    $Id: musicplayer_WaitPlay.c,v 1.6 2005/12/30 08:09:35 wurui Exp $
*******************************************************************************
*/
#include "MusicPlayer.h" 
#include "device.h"
#include "my_os_q.h" 
#include "task_cfg.h"

/*
********************************************************************************
*            void MusicPlayer_PlayMusicStart(music_t *g_music_vars)
*
* Description : 对DSP和功放进行初始化,开始播放所选音乐
*
* Arguments   : g_music_vars  : musicplayer 任务变量指针
*               
* Returns     : void
*
* Notes       :
*
********************************************************************************
*/

void MusicPlayer_PlayMusicStart(music_t *g_music_vars)
{
    int result;
    msg_t msg_send;
    if(g_music_vars->infomation.fileflag == FALSE)
    {     
        if( (result = api_OpenFileByNo(g_music_vars->infomation.FifoCntNo, g_music_vars->infomation.fileno)) < 0)
        {
            _MusicPlayer_Exceptions(g_music_vars, FifoOpenErr);
            return;
        }
        g_music_vars->infomation.fileflag = TRUE;
        g_music_vars->infomation.fileLength =  api_GetFileLength(g_music_vars->infomation.FifoCntNo);          
    }
    else
    {
        if( (result = api_SeekFile(g_music_vars->infomation.FifoCntNo, 0, 0)) < 0)
            _MusicPlayer_Exceptions(g_music_vars, FifoSeekErr);
    }

    openPA(g_music_vars->setting_info.volume);
    
    music_api_SetVolume(g_music_vars->setting_info.volume);
    music_api_SetSpeed(g_music_vars->setting_info.play_rate);  
    music_api_SetEQ(0);     
    
    if( (result = api_ReadFile(g_music_vars->infomation.FifoCntNo, g_music_vars->bit_stream, 512)) < 0)
        _MusicPlayer_Exceptions(g_music_vars, FifoReadErr);
    // 普通播放.    
    if(g_music_vars->status == music_pause)
    {
        music_api_FadeIn();
        music_api_SetDspInfo(&g_music_vars->setting_info.BreakPTSave);
        music_api_Play(g_music_vars->music_type, Nor_Break_open, g_music_vars->infomation.fileLength);   
    }
    else
    {                                                    
        music_api_Play(g_music_vars->music_type, Nor_open, g_music_vars->infomation.fileLength);
        g_music_vars->status = music_NormalPlay;
        msg_send.type = MS_PLAYER;
        msg_send.msg.data[0] = MS_Redraw;
        MYOSQPost(MP3_Player_Out,&msg_send);
    }

}   
/*
********************************************************************************
*            void MusicPlayer_WAIT_Play_default(music_t *g_music_vars, msg_t *msg)
*
* Description : 播放等待状态下的对MS_Play消息以外的消息进行处理.
*
* Arguments   : g_music_vars  : musicplayer 任务变量指针  ;msg :消息指针
*               
* Returns     : void
*
* Notes       :
*
********************************************************************************
*/

void MusicPlayer_WAIT_Play_default(music_t *g_music_vars, msg_t *msg)
{
    msg_t msg_send;
    switch(msg->type)
    {
    case MS_SetLocation:
        msg_send.type = MS_SetLocation;
        MYOSQPost(MP3_Player_In,&msg_send);  
        g_music_vars->player_status = PLAYER_WAIT_FileLocation;
        break;
    case MS_END:
        g_music_vars->player_status = PLAYER_EXIT;
        break;
    }
}

⌨️ 快捷键说明

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