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

📄 mp3_main.c

📁 智原mp3 SDK 开发包 与巨力 有mp3 wma ogg decoder
💻 C
字号:
/******************
 *  mp3_main.c
 *****************/

#include <string.h>
#include "api.h"
#include "lcd.h"
#include "common.h"
#include "ap_common.h"
#include "display.h" 
#include "mp3_utile.h"
#include "mp3_display.h"
#include "mp3_sub_menu.h"
#include "prefer.h"
#include "ui_main.h"
#include "ui_message.h"
#include "res.h"
#include "res_show.h"

//UINT8 long_release=0;

//extern BOOLEAN bFwdRwd_init();

BOOLEAN fm_lock,lyric_on, scroll_on;
 
void screen_mp3_init(void)
{	
	/* Music is playing */
	close_volume();
	init_volume();
	
	
	if(eSysState != STATE_IDLE) 
	{		
		if((curr_finfo.etype != ENTRY_TYPE_FILE) || !playdir_valid()) 
		{
			if(play_dir.u32startclus)
				change_dir(&play_dir);
			else
				change_dir(0);
		}		
		scan_dir_file(SEARCH_MODE_CURRDIR, search_extstr, 0);
			
		if(!api_bSelectFile(curr_music.u16Order, SELECT_SET))
			return;	
		screen_level = SCREEN_LEVEL_MUSIC_PLAY;
		ui_draw();
		bResShowPic(PLAY_PIC, 0 , 2);
		return;
	}
	
	if(screen_level == SCREEN_LEVEL_FILE_BROWSER) {
		if(!find_good_media(0, SELECT_CUR))
			return;
		ui_draw();
		if(music_play())
		{
			screen_level = SCREEN_LEVEL_MUSIC_PLAY;
			api_vSetDSPclk(2);
			bResShowPic(PLAY_PIC, 0 , 2);						
		}		
		return;
	}
	
	/* Change to ROOT dir */
	change_dir(0);
	
	scan_dir_file(SEARCH_MODE_CURRDIR, "MP3WMA", 0);	
	if(totfile && find_good_media(1, SELECT_SET)) {
		ui_draw();
		screen_level = SCREEN_LEVEL_MUSIC_STOP;
	}
	else {
        	ui_show_message(MFILEOUT);
        		
#ifdef dynamic_load
		api_vLoad(Code_USER1,1);
#else
		Print("Load Function\n");
#endif				
	}	
}

void screen_mp3(UINT8 key)
{
	INT8 dir = 0;
	
	switch(key) 
	{
		case KEY_MENU:
			mp3_sub_menu();
			return;
		case KEY_PLAY:
			if(screen_level == SCREEN_LEVEL_MUSIC_PLAY) 
			{
				if(music_pause())
					screen_level = SCREEN_LEVEL_MUSIC_STOP;
				bResShowPic(STOP_PIC, 0 , 2);
			}
			
			else if(screen_level == SCREEN_LEVEL_MUSIC_STOP)
			{
				if(music_play())
				{
                    api_bSetVolume(0);
					screen_level = SCREEN_LEVEL_MUSIC_PLAY;
					api_vSetDSPclk(2);
					bResShowPic(PLAY_PIC, 0 , 2);
				}
			}			
			return;
			
		case KEY_NEXT:	
			dir=1;
			break;
		
		case KEY_PREV:
			dir=-1;

			break;
		case KEY_AB_REPEAT:
			vol_flag = !vol_flag;
			ui_show_vol();
			return;
			
		case KEY_FORWARD:
		case KEY_REWIND:
			if(!vol_flag)
			{
				if(curr_music.eMusicType != MUSIC_TYPE_WMA && api_bFwRwdProlog()/*&&(!long_release)*/){
					if(key == KEY_FORWARD)
						api_bFwRwdForward();
					else
						api_bFwRwdRewind();
					play_time_update(1);
					screen_level = SCREEN_LEVEL_MUSIC_FWRW;
				}
			}
			else
			{
				if(key == KEY_FORWARD)
				{
					if(tUserPreference.u8Volume<31)
					{
						tUserPreference.u8Volume++;
						api_bSetVolume(1);						
					}					
				}
				else
				{

					if(tUserPreference.u8Volume>0)
					{
						tUserPreference.u8Volume--;
						api_bSetVolume(-1);
					}										
				}
				ui_show_vol();
			}	
			return;
			
		case KEY_RELEASE:			
			api_bFwRwdEpilog();
			api_vSetDSPclk(2);	
			screen_level = SCREEN_LEVEL_MUSIC_PLAY;
			return;			
		case KEY_EOS:
			ui_draw();
			if(screen_level == SCREEN_LEVEL_MUSIC_PLAY)
				bResShowPic(PLAY_PIC, 0 , 2);			
			return;			
		default:		
            return;
			break;
	
	}
				
	if(!vol_flag)
	{
		music_stop();
		find_good_media(dir, SELECT_CUR);
		if(screen_level == SCREEN_LEVEL_MUSIC_PLAY) 
		{	
			if(music_play())
			{
				screen_level = SCREEN_LEVEL_MUSIC_PLAY;
				api_vSetDSPclk(2);
			}			
		}	
		ui_draw();
		if(screen_level == SCREEN_LEVEL_MUSIC_PLAY)
			bResShowPic(PLAY_PIC, 0 , 2);
	}
	else
	{
		if(dir == -1)
		{
			if(tUserPreference.u8Volume>0)
			{
				tUserPreference.u8Volume--;				
			}
		}
		else
		{
			if(tUserPreference.u8Volume<31)
			{
				tUserPreference.u8Volume++;				
			}			
		}
		api_bSetVolume(dir);
		ui_show_vol();					
	}	
}

⌨️ 快捷键说明

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