📄 voice_main.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 + -