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

📄 sub_playstatuskey.s01

📁 炬力方案176*132软件源码,适用于AK1025
💻 S01
📖 第 1 页 / 共 4 页
字号:
	INC	HL
	SET	5,(HL)
; 245.	                g_FCexitflag = FALSE;
	LD	(g_FCexitflag),A
?0030:
; 246.	            }
; 247.	            return_to_play=1;
	LD	A,1
	LD	(return_to_play),A
; 248.	            need_draw = TRUE;
	LD	(need_draw),A
; 249.	            break;
	JP	LWRD ?0002
?0031:
; 250.	
; 251.	        case AP_KEY_MODE | AP_KEY_LONG://长按MODE 进入歌词显示界面
; 252.	
; 253.	        #ifdef OPT_Sup_LRC_fun//支持歌词显示功能
; 254.	
; 255.	            if (!g_lyricflag)
	LD	A,(g_lyricflag)
	OR	A
	JR	Z,?0165
?0032:
; 256.	            {
; 257.	                return RESULT_MAIN; //没歌词就不进入
; 258.	            }
?0033:
; 259.	            if (RePlayStatus != NormalPlay)
	LD	A,(RePlayStatus)
	OR	A
	JR	Z,?0035
?0034:
; 260.	            {
; 261.	                return RESULT_MAIN;
?0165:
	LD	HL,10
; 262.	            }
	JP	LWRD ?0058
?0035:
; 263.	            g_result = ui_lyric();
	LD	A,BYTE3 ui_lyric
	LD	HL,LWRD ui_lyric
	CALL	LWRD ?0203
; 264.	            return_to_play=1;
	LD	(return_to_play),A
; 265.	            //恢复背光时间
; 266.	            VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
	LD	BC,32
	PUSH	BC
	LD	BC,512
	LD	DE,g_comval
	CALL	LWRD VMRead
	POP	HL
; 267.	            ap_message_init(& g_comval);
	LD	DE,g_comval
	LD	A,BYTE3 ap_message_init
	LD	HL,LWRD ap_message_init
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 268.	            if( g_result == 0 ) //如果是热键,不要清屏.
	LD	HL,(g_result)
	LD	A,L
	OR	H
	JR	NZ,?0037
?0036:
; 269.	            {
; 270.	                SetFullInterface();
	LD	(ui_auto_update),A
	LD	HL,UpDisplayFlag
	LD	A,(HL)
	OR	193
	LD	(HL),A
	INC	HL
	LD	(HL),255
; 271.	                need_draw = TRUE;
	LD	A,1
	LD	(need_draw),A
?0037:
; 272.	            }
; 273.	            return g_result;
	LD	HL,(g_result)
; 274.	        #endif/* OPT_Sup_LRC_fun */
; 275.	            break;
	JP	LWRD ?0058
?0038:
; 276.	
; 277.	        case AP_KEY_PLAY | AP_KEY_UP:
; 278.	                  {     //Jerry Xie Add for test
; 279.	                        g_volcounter = 0;
	XOR	A
	LD	(g_volcounter),A
; 280.	                                        g_rSetPlayStatus = TRUE;
	LD	A,1
	LD	(g_rSetPlayStatus),A
; 281.	                  }
; 282.	            return DealPlayKey();
	LD	A,BYTE3 DealPlayKey
	LD	HL,LWRD DealPlayKey
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 283.	
; 284.	#ifdef __6KEYMODE__
; 285.	            case AP_KEY_VOLSUB:
	JP	LWRD ?0058
?0039:
; 286.	            case AP_KEY_VOLSUB | AP_KEY_HOLD:
; 287.	                 if(g_volcounter>0)
	LD	A,(g_volcounter)
	OR	A
	LD	A,6
	LD	(g_volcounter),A
	JR	Z,?0041
?0040:
; 288.	                 {
; 289.	                        g_volcounter = 6;
; 290.	                                        
; 291.	                                        if(g_music_vars.volume>0)
	LD	A,(g_music_vars)
	LD	B,A
	XOR	A
	SUB	B
	JP	PO,?0160
	XOR	128
?0160:
	JP	P,?0002
?0042:
; 292.	                                        {
; 293.	                                                volume_callback(--g_music_vars.volume);
	LD	HL,g_music_vars
	DEC	(HL)
	CALL	LWRD ?0204
; 294.	                                                ui_show_vol(g_music_vars.volume);
?0043:
; 295.	                                        }
; 296.	                 }
; 297.	                 else
	JR	?0044
?0041:
; 298.	                 {
; 299.	                          g_volcounter = 6;
; 300.	                                                    main_ResShowPic(VOL_00+g_music_vars.volume,0,106);
	LD	C,106
	PUSH	BC
	CALL	LWRD ?0205
	POP	AF
?0044:
; 301.	                 }
; 302.	                 break;
	JR	?0002
?0045:
; 303.	            case AP_KEY_VOLADD:
; 304.	            case AP_KEY_VOLADD | AP_KEY_HOLD:
; 305.	                 if(g_volcounter>0)
	LD	A,(g_volcounter)
	OR	A
	LD	A,6
	LD	(g_volcounter),A
	JR	Z,?0047
?0046:
; 306.	                 {
; 307.	                        g_volcounter = 6;
; 308.	                                        
; 309.	                                        if(g_music_vars.volume<31)
	LD	A,(g_music_vars)
	XOR	128
	CP	159
	JR	NC,?0050
?0048:
; 310.	                                        {
; 311.	                                                volume_callback(++g_music_vars.volume);
	LD	HL,g_music_vars
	INC	(HL)
	CALL	LWRD ?0204
; 312.	                                                ui_show_vol(g_music_vars.volume);
?0049:
; 313.	                                        }
; 314.	                 }
; 315.	                 else
	JR	?0002
?0047:
; 316.	                 {
; 317.	                          g_volcounter = 6;
; 318.	                                                    main_ResShowPic(VOL_00+g_music_vars.volume,0,106);
	LD	C,106
	PUSH	BC
	CALL	LWRD ?0205
	POP	AF
?0050:
; 319.	                 }
; 320.	               break;
	JR	?0002
?0051:
; 321.	#endif
; 322.	
; 323.	#ifndef __6KEYMODE__
; 324.	                                case AP_KEY_VOL | AP_KEY_UP:
; 325.	                                          if(g_volcounter > 0)
; 326.	                                          {
; 327.	                                                g_volcounter = 0;
; 328.	                                                g_rSetPlayStatus = TRUE;
; 329.	                                          }
; 330.	                                          else
; 331.	                                          {
; 332.	                                                g_volcounter = 6;
; 333.	                                                main_ResShowPic(VOL_00+g_music_vars.volume,0,106);
; 334.	                                          }
; 335.	                                          break;
; 336.	#endif
; 337.	
; 338.	        case AP_MSG_CHARGING:
; 339.	            ui_show_batt(GetBattery(), g_comval.BatteryType,0);
	LD	C,0
	PUSH	BC
	LD	BC,(g_comval+15)
	CALL	LWRD GetBattery
	LD	E,A
	LD	D,0
	LD	A,BYTE3 ui_show_batt
	LD	HL,LWRD ui_show_batt
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	HL
; 340.	            break;
	JR	?0002
?0052:
; 341.	
; 342.	        default:
; 343.	            key = ap_handle_hotkey(key);
	CALL	LWRD ap_handle_hotkey
	LD	(IX+2),A
; 344.	            if (key == RESULT_REDRAW)
	CP	50
	JR	NZ,?0054
?0053:
; 345.	            {
; 346.	                SetFullInterface();
	XOR	A
	LD	(ui_auto_update),A
	LD	HL,UpDisplayFlag
	LD	A,(HL)
	OR	193
	LD	(HL),A
	INC	HL
	LD	(HL),255
; 347.	                need_draw = TRUE;
	LD	A,1
	LD	(need_draw),A
; 348.	                return_to_play=1;
	LD	(return_to_play),A
	JR	?0002
?0054:
; 349.	            }
; 350.	            else if (key != 0)
	XOR	A
	OR	(IX+2)
	JR	Z,?0002
?0056:
; 351.	            {
; 352.	                return key;
	LD	L,A
	LD	H,0
; 353.	            }
	JR	?0058
?0057:
?0055:
; 354.	            break;
?0002:
; 355.	    }
; 356.	    return NULL;
	LD	HL,0
; 357.	}
?0058:
	JP	LWRD ?BANK_LEAVE_DIRECT_L08
?0192:
	LD	BC,0
	LD	E,2
	LD	A,BYTE3 musicpSendCommand
	LD	HL,LWRD musicpSendCommand
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	XOR	A
	LD	(ui_auto_update),A
	LD	HL,UpDisplayFlag
	LD	A,(HL)
	OR	193
	LD	(HL),A
	INC	HL
	LD	(HL),255
	LD	A,1
	LD	(need_draw),A
	RET
?0201:
	LD	BC,0
?0202:
	LD	E,65
?0200:
	LD	A,BYTE3 musicpSendCommand
	LD	HL,LWRD musicpSendCommand
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0203:
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	(g_result),HL
	LD	A,1
	RET
?0204:
	LD	E,(HL)
	LD	A,E
	RLCA
	SBC	A,A
	LD	D,A
	LD	A,BYTE3 volume_callback
	LD	HL,LWRD volume_callback
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	DE,(g_music_vars)
	LD	A,BYTE3 ui_show_vol
	LD	HL,LWRD ui_show_vol
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	RET
?0205:
	LD	C,0
	LD	DE,(g_music_vars)
	LD	A,E
	RLCA
	SBC	A,A
	LD	D,A
	LD	HL,281
	ADD	HL,DE
	EX	DE,HL
?0206:
	LD	A,BYTE3 main_ResShowPic
	LD	HL,LWRD main_ResShowPic
	JP	LWRD ?BANK_CALL_DIRECT_L08
play_key_next:
; 358.	
; 359.	//============================================================
; 360.	//======正常播放时的NEXT键处理========
; 361.	int play_key_next( int key )
; 362.	{
	CALL	LWRD ?ENT_AUTO_DIRECT_L09
	DEFW	65526
; 363.	    wma_play_status_t status_buf;
; 364.	    uchar IMK_Reg;
; 365.	
; 366.	    //*********music edit add by mzh 2007.1.19*********
; 367.	    if((MusicEditSelStatus!=MusicEditSelSta_NoSel)&&(key == (AP_KEY_AB | AP_KEY_UP)))
	LD	A,(MusicEditSelStatus)
	OR	A
	JP	Z,?0060
	LD	A,49
	XOR	(IX+2)
	OR	(IX+3)
	JP	NZ,?0060
?0062:
?0061:
?0059:
; 368.	    {
; 369.	        IMK_Reg=input8(0x27);
	IN	A,(39)
	LD	(IX-10),A
; 370.	        switch(MusicEditSelStatus)
	LD	A,(MusicEditSelStatus)
	CP	1
	JR	NZ,?0065
?0064:
; 371.	        {
; 372.	        case MusicEditSelSta_WaitStart:
; 373.	            output8(0x27,0);
	XOR	A
	OUT	(39),A
; 374.	            MusicEdit_SelSeg.StartSec=FS_FTell(m_Mp3deFileHandle);
	LD	DE,(m_Mp3deFileHandle)
	CALL	LWRD FS_FTell
	LD	(MusicEdit_SelSeg),HL
	LD	(MusicEdit_SelSeg+2),BC
; 375.	            MusicEditStartTime.second=c_mp3deNowTimeSencond;
	LD	A,(c_mp3deNowTimeSencond)
	LD	(MusicEditStartTime+2),A
; 376.	             MusicEditStartTime.minute=c_mp3deNowTimeMinute;
	LD	A,(c_mp3deNowTimeMinute)
	LD	(MusicEditStartTime+1),A
; 377.	             MusicEditStartTime.hour=    c_mp3deNowTimeHour;
	LD	A,(c_mp3deNowTimeHour)
	LD	(MusicEditStartTime),A
; 378.	            output8(0x27,IMK_Reg);
	LD	A,(IX-10)
	OUT	(39),A
; 379.	                        
; 380.	            MusicEditSelStatus=MusicEditSelSta_WaitEnd;
	LD	A,2
	LD	(MusicEditSelStatus),A
; 381.	            break;
	JP	LWRD ?0172
?0065:
	CP	2
	JR	NZ,?0070
; 382.	        case MusicEditSelSta_WaitEnd:
; 383.	            output8(0x27,0);
; 384.	            MusicEdit_SelSeg.EndSec=FS_FTell(m_Mp3deFileHandle);            
	CALL	LWRD ?0207
; 385.	             MusicEditEndTime.second=c_mp3deNowTimeSencond;
; 386.	             MusicEditEndTime.minute=c_mp3deNowTimeMinute;
; 387.	             MusicEditEndTime.hour=    c_mp3deNowTimeHour;
; 388.	            output8(0x27,IMK_Reg);    
	LD	A,(IX-10)
	OUT	(39),A
; 389.	            MusicEditSelStatus=MusicEditSelSta_NoSel;            
	XOR	A
	LD	(MusicEditSelStatus),A
; 390.	
; 391.	            MusicEdit_SelSeg.location=& g_music_vars.location;
	LD	HL,g_music_vars+7
	LD	(MusicEdit_SelSeg+8),HL
; 392.	            MusicEdit_SelSeg.StartTime=&MusicEditStartTime;
	LD	HL,MusicEditStartTime
	LD	(MusicEdit_SelSeg+10),HL
; 393.	            MusicEdit_SelSeg.EndTime=&MusicEditEndTime;
	LD	HL,MusicEditEndTime
	LD	(MusicEdit_SelSeg+12),HL
; 394.	            need_draw = TRUE;
	LD	A,1
	LD	(need_draw),A
; 395.	            SetFullInterface();
	XOR	A
	LD	(ui_auto_update),A
	LD	HL,UpDisplayFlag
	LD	A,(HL)
	OR	193
	LD	(HL),A
	INC	HL
	LD	(HL),255
; 396.	            if(MusicEditStatus==MusicEditSta_SelSeg)
	LD	A,(MusicEditStatus)
	DEC	A
	JR	NZ,?0067
?0066:
; 397.	            {
; 398.	                MusicEditStatus=MusicEditSta_NoFun;
	LD	(MusicEditStatus),A
; 399.	                SaveSelSegment(&MusicEdit_SelSeg);
	LD	DE,MusicEdit_SelSeg
	LD	A,BYTE3 SaveSelSegment
	LD	HL,LWRD SaveSelSegment
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	JR	?0070
?0067:
; 400.	            }
; 401.	            else if(MusicEditStatus==MusicEditSta_DelSeg)
	LD	A,(MusicEditStatus)
	DEC	A
	DEC	A
	JR	NZ,?0070
?0069:
; 402.	            {
; 403.	                MusicEditStatus=MusicEditSta_NoFun;
	LD	(MusicEditStatus),A
; 404.	                return(UI_ShowDelSegComfirm());        // return to musicedit ap
	LD	A,BYTE3 UI_ShowDelSegComfirm
	LD	HL,LWRD UI_ShowDelSegComfirm
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 405.	            }
	JP	LWRD ?0100
?0070:
?0068:
?0063:
; 406.	        }
; 407.	        return NULL;
	JP	LWRD ?0172
; 408.	    }
?0060:
; 409.	    //停快进退
; 410.	    if ((PlayStatus == FFPlaySta) || (PlayStatus == FBPlaySta))
	LD	A,(PlayStatus)
	CP	3
	JR	Z,?0073
	CP	4
	JR	NZ,?0072
?0073:
?0074:
?0071:

⌨️ 快捷键说明

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