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

📄 voice_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 "voice_utile.h"
#include "voice_display.h"
#include "voice_sub_menu.h"
#include "prefer.h"
#include "ui_main.h"
#include "ui_message.h"
#include "res.h"
#include "res_show.h"



BOOLEAN fm_lock, music_on, lyric_on, scroll_on;
 
void screen_voice_init(void)
{	
	UINT16 order;
	
	/* Music is playing */
	
	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, "WAV", 0);
			
		if(!api_bSelectFile(curr_music.u16Order, SELECT_SET))
			return;		
		ui_draw();
		bResShowPic(PLAY_PIC, 0 , 2);
		screen_level = SCREEN_LEVEL_MUSIC_PLAY;
		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;
			bResShowPic(PLAY_PIC, 0 , 2);
		}
		close_volume();
		init_volume();
		return;
	}
	
	/* Change to ROOT dir */
	change_dir(0);
	//close_volume();
	//init_volume();
	
	scan_dir_file(SEARCH_MODE_CURRDIR, "WAV", 0);
	api_bSearchDirInDir(SEARCH_MODE_CURRDIR);
	
	if(totdir == 0)
	{
        		ui_show_message(MFILEOUT);
        		
#ifdef dynamic_load
			api_vLoad(Code_USER1,1);
#else
			Print("Load Function\n");
#endif			
	}

	order = 0;
	
	//while(1)
	for(order=0;order<totdir;order++)
	{
		api_bSelectFile(order, SELECT_SET);
		api_bGetSelectFileInfo(&curr_finfo);
		get_short_name(&curr_finfo, _buf);
		//Print(_buf);
		if(_buf[0]=='R' &&_buf[1]=='E' &&_buf[2]=='C' &&_buf[3]=='O' &&_buf[4]=='R' &&_buf[5]=='D')
			break;
		order++;		
	}
	
			
	
	if(change_dir(&curr_finfo)) {  
		//this is change file to record directory
		scan_dir_file(SEARCH_MODE_CURRDIR,"WAV", 0);
			if(totfile && find_good_media(1, SELECT_SET)) {
				ui_draw();
		}
		else {
        		ui_show_message(MFILEOUT);       		
#ifdef dynamic_load
			api_vLoad(Code_USER1,1);
#else
			Print("Load Function\n");
#endif	
		}			
	}	
}

void screen_voice(UINT8 key)
{
	switch(key) {
		case KEY_MENU:
			voice_sub_menu();
			break;
		case KEY_PLAY:
			if(screen_level == SCREEN_LEVEL_MUSIC_PLAY) {
				music_on = 0;
				if(music_pause())
					screen_level = SCREEN_LEVEL_MUSIC_STOP;
				bResShowPic(STOP_PIC, 0 , 2);	
			}
			
			else if(screen_level == SCREEN_LEVEL_MUSIC_STOP) {
				music_on = 1;	
				if(music_play())
				{
					screen_level = SCREEN_LEVEL_MUSIC_PLAY;
					bResShowPic(PLAY_PIC, 0 , 2);
				}
				close_volume();
				init_volume();
			}			
			break;
		case KEY_NEXT:			
			if(vol_flag)
			{
				if(tUserPreference.u8Volume<31)
				{
					tUserPreference.u8Volume++;
					api_bSetVolume(1);
					ui_show_vol();
				}			
			}
			else
			{
				if(screen_level == SCREEN_LEVEL_MUSIC_PLAY) 
				{	
					if(music_stop()) {
						if(!find_good_media(1, SELECT_CUR))
							break;
						if(music_play())
							screen_level = SCREEN_LEVEL_MUSIC_PLAY;
						close_volume();
						init_volume();
						//bResShowPic(PLAY_PIC, 0 , 2);
					}			
				}
				else if(screen_level == SCREEN_LEVEL_MUSIC_STOP)
				{
					if(!find_good_media(1, SELECT_CUR))
						break;
				}			
				ui_draw();
				if(screen_level == SCREEN_LEVEL_MUSIC_PLAY)
					bResShowPic(PLAY_PIC, 0 , 2);
			}	
			break;
		case KEY_PREV:
			if(vol_flag)
			{
				if(tUserPreference.u8Volume>0)
				{
					tUserPreference.u8Volume--;
					api_bSetVolume(-1);
					ui_show_vol();
				}				
			}
			else
			{
				if(screen_level == SCREEN_LEVEL_MUSIC_PLAY) 
				{	
					if(music_stop()) {
						if(!find_good_media(-1, SELECT_CUR))
							break;
						if(music_play())
							screen_level = SCREEN_LEVEL_MUSIC_PLAY;
						close_volume();
						init_volume();
					}			
				}
				else if(screen_level == SCREEN_LEVEL_MUSIC_STOP)
				{
					if(!find_good_media(-1, SELECT_CUR))
						break;
				}		
				ui_draw();
				if(screen_level == SCREEN_LEVEL_MUSIC_PLAY)
					bResShowPic(PLAY_PIC, 0 , 2);				
			}	
			break;
		case KEY_AB_REPEAT:
			/*
			if(curr_music.eMusicType != MUSIC_TYPE_WMA){
				api_bSetABrepeat();
				vShowRepeat();
			}
			*/
			vol_flag = !vol_flag;
			ui_show_vol();			
			break;
		case KEY_FORWARD:
		case KEY_REWIND:
			if(curr_music.eMusicType != MUSIC_TYPE_WMA && api_bFwRwdProlog()){
				if(key == KEY_FORWARD)
					api_bFwRwdForward();
				else
					api_bFwRwdRewind();
				play_time_update(1);
				screen_level = SCREEN_LEVEL_MUSIC_FWRW;
			}
			break;
		case KEY_RELEASE:
			api_bFwRwdEpilog();
			screen_level = SCREEN_LEVEL_MUSIC_PLAY;
			break;
		/*
		case KEY_VOL_UP:
			if(tUserPreference.u8Volume<31)
			{
				tUserPreference.u8Volume++;
				api_bSetVolume(1);
				ui_show_vol();
			}
			break;
		case KEY_VOL_DN:
			if(tUserPreference.u8Volume>0)
			{
				tUserPreference.u8Volume--;
				api_bSetVolume(-1);
				ui_show_vol();
			}
			break;
		*/
		case KEY_EOS:
			//deal_loop();
			ui_draw();
			break;
		default:
			break;
	}
}

⌨️ 快捷键说明

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