mediaplayerfunc.c
来自「M3355的源代码」· C语言 代码 · 共 2,203 行 · 第 1/5 页
C
2,203 行
{
if(tMPFCurPosition.iPlayerFocused==MPLR_CD || tMPFCurPosition.iPlayerFocused==MPLR_MUSIC)
{
if(LeftMicStatus == C_LEFT_MIC_ON || RightMicStatus == C_RIGHT_MIC_ON) //gushun for karaoke volume
{
if(!bOutOfMPO)
{
MPO_RefreshOutlook(RT_HIGHLIGHT_INOUT, &iRefreshParam);
gui_hdc=gMPOdc;
}
UiSubFuncVolumInit();
// g_UiCrntSubFunc == UI_SUBFUNC_BASAL;
}
}
}
#endif
break;
case V_KEY_UP:
MPF_UpDown(Direction_UP);
break;
case V_KEY_DOWN:
MPF_UpDown(Direction_DOWN);
break;
case V_KEY_ENTER:
bPauseToPlay = FALSE;
MPF_Enter();
break;
case V_KEY_PLAY:
#ifdef _TIANKE_PROG
if(findProgItem(tMPFCurPosition.wListHighlightIndex)!=PROG_ITEM_NULL)
{
g_UiPlaybackList=UI_PLAYBACKLIST_PROGRAM;
g_VCDProCurNum=GetProgCurIndex(tMPFCurPosition.wListHighlightIndex);
MPO_RefreshOutlook(RT_PROGPLAY_ONOFF, &iRefreshParam);
CheckPlayback(V_KEY_PLAY, tMPFCurPosition.wListHighlightIndex-(MPF_Attr.wItemCount-MPF_Attr.wFileCount) );
MPF_Play(C_USEROP);
}
else
#endif
if(bPauseToPlay)
MPF_Enter();
//cdda last play
else if(bCddaLastPlay)
{
if(bsetuplastplay)//benjamin add
break;
g_UiPlaybackList=UI_PLAYBACKLIST_NORMAL;
MPO_RefreshOutlook(RT_PROGPLAY_ONOFF, &iRefreshParam);
MPF_Play(C_USEROP);
}
#if(_CUSTOM==CUSTOM_LG)
else if(g_UiCoreState==UI_CORE_PAUSE||g_UiCoreState==UI_CORE_STEP \
||g_UiCoreState==UI_CORE_FAST||g_UiCoreState==UI_CORE_REVERSE|| \
(g_UiCoreState==UI_CORE_STOP&&(!bIsSecondStop)) \
&&((tMPFCurPosition.iPlayerFocused==MPLR_CD) || tMPFCurPosition.iPlayerFocused==MPLR_MUSIC))
{
if(VirDiscType==C_VCD10)
{
if(tMPFCurPosition.iFocusObj==OBJ_LIST||tMPFCurPosition.iFocusObj==OBJ_PROG)
MPF_Enter();
else
{
SpecialQuest(V_KEY_PLAY, C_USEROP);
}
break;
}
wNowDirStartNum=FileOpenGetDirStartNum();
if((g_bCurSessionNum!=g_bPrevSessionNum)||(wNowDirStartNum!=wPrevDirStartNum))
{
if(tMPFCurPosition.iFocusObj==OBJ_LIST||tMPFCurPosition.iPlayerFocused==MPLR_PHOTO)
{
if(g_UiCoreState==UI_CORE_PAUSE)
bPauseToPlay=TRUE;
MPF_Enter();
}
}
else
{
SpecialQuest(V_KEY_PLAY, C_USEROP);
}
}
#endif
else
{
if(tMPFCurPosition.iFocusObj==OBJ_LIST||tMPFCurPosition.iPlayerFocused==MPLR_PHOTO)
MPF_Enter();
else
{
if(VirDiscType==C_VCD10&&g_UiCoreState==UI_CORE_STOP&&bIsSecondStop)
MPF_NumPlay(1, C_USEROP, PLAY_NEXT, C_JUMP, C_FOLLOW);
}
}
break;
case V_KEY_RETURN:
MPF_Return();
break;
case V_KEY_STOP:
MPF_PreStop();
break;
case V_KEY_DINTIAN_STOP:
MPF_Stop(C_USEROP);
break;
case V_KEY_NEXT:
if(tMPFCurPosition.iFocusObj==OBJ_LIST||tMPFCurPosition.iFocusObj==OBJ_PROG)
{
if(g_UiCoreState==UI_CORE_STOP&&bIsSecondStop)
MPF_UpDown(Direction_DOWN);
else
{
MPF_Next(C_USEROP);
}
}
else
{
if(g_UiCoreState==UI_CORE_STOP&&bIsSecondStop)
{
;
}
else
{
MPF_Next(C_USEROP);
}
}
break;
case V_KEY_PREV:
if(tMPFCurPosition.iFocusObj==OBJ_LIST||tMPFCurPosition.iFocusObj==OBJ_PROG)
{
if(g_UiCoreState==UI_CORE_STOP&&bIsSecondStop)
MPF_UpDown(Direction_UP);
else
{
MPF_Prev(C_JUMP);
}
}
else
{
if(g_UiCoreState==UI_CORE_STOP&&bIsSecondStop)
{
;
}
else
{
MPF_Prev(C_NOJUMP);
}
}
break;
case V_KEY_REPEAT:
MPF_Repeat();
break;
case V_KEY_REPEAT_AB:
if(g_UiPlaybackList==UI_PLAYBACKLIST_PROGRAM)
break;
MPF_RepeatAB();
break;
case V_KEY_0:
case V_KEY_1:
case V_KEY_2:
case V_KEY_3:
case V_KEY_4:
case V_KEY_5:
case V_KEY_6:
case V_KEY_7:
case V_KEY_8:
case V_KEY_9:
if(g_UiPlaybackList!=UI_PLAYBACKLIST_NORMAL)
{
g_UiPlaybackRepeatRange= UI_PLAYBACKRANGE_REPEATNONE;
NVSetEndMode( C_NORMAL_END );
MPO_RefreshOutlook(RT_PLAYBACK_CHG, &iRefreshParam);
}
g_UiPlaybackList=UI_PLAYBACKLIST_NORMAL;
MPO_RefreshOutlook(RT_PROGPLAY_ONOFF, &iRefreshParam);
MPF_Num(UserKey);
break;
case V_KEY_TITLE:
MPF_Title();
break;
case V_KEY_PROGRAM:
if(
(tMPFCurPosition.iPlayerFocused==MPLR_CD || tMPFCurPosition.iPlayerFocused==MPLR_MUSIC)
&&
(g_pListTab[tMPFCurPosition.iListHighlightIndex].bType!=C_DIR)
)
MPF_Program();
break;
case V_KEY_CLEAR:
if(g_UiPlaybackList!=UI_PLAYBACKLIST_PROGRAM){//normal play or repeat play
if(RepeatAB_Counter == REPEAT_AB_A || RepeatAB_Counter == REPEAT_AB_B)//repeat ab
MPF_ClearA();
else{//normal
if(
(tMPFCurPosition.iPlayerFocused==MPLR_CD || tMPFCurPosition.iPlayerFocused==MPLR_MUSIC)
&&
(g_pListTab[tMPFCurPosition.iListHighlightIndex].bType!=C_DIR)
)
MPF_Clear();
}
}
else{//prgram play
if(
(tMPFCurPosition.iPlayerFocused==MPLR_CD || tMPFCurPosition.iPlayerFocused==MPLR_MUSIC)
&&
(g_pListTab[tMPFCurPosition.iListHighlightIndex].bType!=C_DIR)
)
MPF_Clear();
}
break;
case V_KEY_FF:
MPF_FastForword();
break;
case V_KEY_REV:
MPF_Reverse();
break;
case V_KEY_PAGEUP:
MPF_PageUpDown(Direction_UP);
break;
case V_KEY_PAGEDOWN:
MPF_PageUpDown(Direction_DOWN);
break;
case V_KEY_PAUSE:
MPF_Pause();
break;
case V_KEY_OPEN:
MPF_Open();
break;
case V_KEY_LASTPLAY:
bsetuplastplay = 0;//benjamin add
MPF_LastPlay();
break;
case V_KEY_SETUP:
if(bsetuplastplay)//benjamin add
break;
MPF_Setup();
break;
case V_KEY_POWER:
MPF_Standby();
break;
// David: 512K project disable 3D
/*#ifdef _IR_3DSUR_KEY_Disable_
case V_KEY_VOICE:
#endif
break;*/
case V_KEY_SurroundOnOff:
if(g_UiCoreState!=UI_CORE_FAST&&g_UiCoreState!=UI_CORE_REVERSE)
MPF_SurroundOnOff();
case V_KEY_BOOKMARK:
break;
case V_KEY_PROC_OFF:
MPF_Progress();
break;
//for mp3 autoplay.C_KEY_A means C_KEY_AUTOPLAY
case C_KEY_A:
if(tMPFCurPosition.iPlayerFocused==MPLR_MUSIC)
MPF_Play(C_USEROP);
break;
#ifdef _MUTE_ENABLE_
case V_KEY_VOLUP:
if(tMPFCurPosition.iPlayerFocused==MPLR_CD || tMPFCurPosition.iPlayerFocused==MPLR_MUSIC)
{
if(!bOutOfMPO)
{
MPO_RefreshOutlook(RT_HIGHLIGHT_INOUT, &iRefreshParam);
gui_hdc=gMPOdc;
}
ptr_SetMuteVolumeStatus = SetMuteVolumeStatus;
(*ptr_SetMuteVolumeStatus)(MUTEVOLUME_STATUS_VOLUME);
ptr_UiSubFuncMuteVolumeInit = UiSubFuncMuteVolumeInit;
(*ptr_UiSubFuncMuteVolumeInit)();
}
break;
case V_KEY_MUTE:
if(iTotal)
{
SetTimer( OSD2_TM_ID, MPF_Timer, INFINITETIME);
MPF_NumEnter();
}
if(tMPFCurPosition.iPlayerFocused==MPLR_CD || tMPFCurPosition.iPlayerFocused==MPLR_MUSIC)
{
if(!bOutOfMPO)
{
MPO_RefreshOutlook(RT_HIGHLIGHT_INOUT, &iRefreshParam);
gui_hdc=gMPOdc;
}
ptr_SetMuteVolumeStatus = SetMuteVolumeStatus;
(*ptr_SetMuteVolumeStatus)(MUTEVOLUME_STATUS_MUTE);
ptr_UiSubFuncMuteVolumeInit = UiSubFuncMuteVolumeInit;
(*ptr_UiSubFuncMuteVolumeInit)();
}
break;
#endif
#ifdef _BRIGHT_ENABLE_
case V_KEY_VOLDOWN:
if(!bOutOfMPO)
{
MPO_RefreshOutlook(RT_HIGHLIGHT_INOUT, &iRefreshParam);
gui_hdc=gMPOdc;
}
ptr_UiSubFuncBrightContrastSharpInit = UiSubFuncBrightContrastSharpInit;
(*ptr_UiSubFuncBrightContrastSharpInit)();
break;
#endif
}
if(g_UiCoreState == UI_CORE_STOP && bIsSecondStop == TRUE)
ScrSaver(SCRSAVER_ACTIVE);
}
void MPF_Return(void)
{
if(VirDiscType==C_VCD10)
{
VfdCloseLongKey(2);
MPO_RefreshOutlook(RT_CLOSE, &iRefreshParam);
ChangeLogoData(1);
if(OSD_Setup_Parameter.bTVOutPut==C_AUTO)
{
bShowLOGOAsSysOption=TRUE;
}
ShowLogo(C_LOGO_FRAME);
g_UiCrntFunc = UI_FUNC_NORMAL;
(UiInitFunc[UI_FUNC_NORMAL])();
}
}
#ifdef _KARAOKE_ENABLE_
void Kara_RespondFPKey( DWORD UserKey )
{
tPositionInfo tMPFCurPosition;
ScrSaver(SCRSAVER_CANCEL);
MPO_GetPositionInfo(&tMPFCurPosition);
ENTER_FUNCTION;
#if(_VCD_PROGRAM_MODE==_VCD_PROGRAM_ENABLE_)
if(!CheckVCDKey(UserKey))
return;
#endif
switch ( UserKey )
{
//Exit Kara
case V_KEY_VOLUM:
VolumRespondTimer(C_KARAOKE_TIMER);//17 to C_KARAOKE_TIMER by chena
MPO_RefreshOutlook(RT_HIGHLIGHT_INOUT, &iRefreshParam);
break;
//Exit Kara and media player respond it
#ifdef _MUTE_ENABLE_
case V_KEY_VOLUP:
case V_KEY_MUTE:
VolumRespondTimer(17);
MPF_RespondFPKey(UserKey);
break;
#endif
#ifdef _BRIGHT_ENABLE_
case V_KEY_VOLDOWN:
VolumRespondTimer(17);
MPF_RespondFPKey(UserKey);
break;
#endif
case V_KEY_STOP:
case V_KEY_DINTIAN_STOP:
case V_KEY_SETUP:
case V_KEY_OPEN:
case V_KEY_POWER:
// case V_KEY_RETURN:
VolumRespondTimer(17);
MPO_RefreshOutlook(RT_HIGHLIGHT_INOUT, &iRefreshParam);
MPF_RespondFPKey(UserKey);
break;
// Kara respond it
case V_KEY_ENTER://add by chena to close OSD of KARAOKE
VolumRespondTimer(17);
MPO_RefreshOutlook(RT_HIGHLIGHT_INOUT, &iRefreshParam);
break;
case V_KEY_UP:
case V_KEY_DOWN:
case V_KEY_RIGHT:
case V_KEY_LEFT:
VolumRespondFPKey(UserKey);
break;
//don't support in both case.
default:
break;
}
if(g_UiCoreState == UI_CORE_STOP && bIsSecondStop == TRUE)
ScrSaver(SCRSAVER_ACTIVE);
LEAVE_FUNCTION;
}
#endif //karaoke
int MPF_Progress()
{
if( OSD_Setup_Parameter.bScanMode==SETUPFUNC_SCANMD_INT)
return;
MPO_RefreshOutlook(RT_CLOSE, &iRefreshParam);
OSD_Setup_Parameter.bScanMode=SETUPFUNC_SCANMD_INT;
SetScanMode(&(OSD_Setup_Parameter.bScanMode));
ExtEscape(gui_hdc, SET_PRIMARY_SURFACE_SCANMODE, sizeof(SCAN_MODE), (LPCSTR)(&(OSD_Setup_Parameter.bScanMode)),0,NULL);
Write_UserPara();
MPO_RefreshOutlook(RT_ACTIVE, &iRefreshParam);
}
void MPF_UpDown(int Direction)
{
tPositionInfo tMPFCurPosition;
WORD wNum,i;
MPO_GetPositionInfo(&tMPFCurPosition);
if(Direction==Direction_UP)
{
if( tMPFCurPosition.iPlayerFocused==MPLR_PHOTO)
NVPlayModeChg(C_NV_Stop,C_STOP_SHOWLOGO);//in jpg ,it is call vobu to peabort
if( tMPFCurPosition.wListHighlightIndex == 0 )
{
FileOpenGetItemInfo(g_pListTab, MPF_Attr.wItemCount-C_ITEMPERCOL>0?MPF_Attr.wItemCount-C_ITEMPERCOL:0, C_ITEMPERCOL, MPF_Attr.wFilter,MPF_Attr.wItemCount-MPF_Attr.wFileCount);
MPO_RefreshOutlook(RT_TO_LASTITEM, &iRefreshParam);
MPF_Attr.wListBeginIndex=MPF_Attr.wItemCount<C_ITEMPERCOL?0:MPF_Attr.wItemCount-C_ITEMPERCOL;
}
else if ( tMPFCurPosition.iListHighlightIndex == 0 )
{
FileOpenGetItemInfo(g_pListTab, (tMPFCurPosition.wListHighlightIndex-tMPFCurPosition.iListHighlightIndex)-1, C_ITEMPERCOL, MPF_Attr.wFilter,MPF_Attr.wItemCount-MPF_Attr.wFileCount);
MPO_RefreshOutlook(RT_REFRESH_PAGEUP, &iRefreshParam);
MPF_Attr.wListBeginIndex -= 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?