标题:那位 高手 能帮我 大概讲一下 这是什么意思吗
只看楼主
tisumila
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-6-17
 问题点数:0 回复次数:0 
那位 高手 能帮我 大概讲一下 这是什么意思吗
这是 DVD的 某个段程序  说能为我讲一下  大概的意思吗  谢过了

BOOL fgDVDRepeatKey(void) large
{
#if 0
  BYTE bUsrCtrl = bSharedInfo(SI_USR_PBC_CTRL);
  BYTE bRepeatType;

  if (0
#ifdef PROGRAM_NO_REPEAT
      || (bUsrCtrl == SV_PROGRAM)
#endif
#ifdef RANDOM_SHUFFLE_NO_REPEAT
      || (bUsrCtrl == SV_RANDOM) || (bUsrCtrl == SV_SHUFFLE)
#endif
    )
  {
    vOsdShowError(SV_ERR_NORMAL_PLAY_ONLY, OSD_TIMEOUT_SHORT);
    return (UOP_OK);
  }

  bRepeatType = bDVDGetRepeatType(bSharedInfo(SI_REPEAT_MODE));

  if (bRepeatType == 0xff)
  {
    bRepeatType = bDVDGetRepeatType(bSharedInfo(SI_USR_PBC_CTRL));
  }

  if (bRepeatType == 0xff)
  {
    bRepeatType = SV_REPEAT_CHAPTER;
  }

  vSendUopCmd(UOP_REPEAT, bRepeatType, 0, 0);

  return (UOP_OK);
#else
  BYTE bUsrCtrl = bSharedInfo(SI_USR_PBC_CTRL);
  BYTE bPbcState = bSharedInfo(SI_PBC_SWITCH);
  BYTE bRepeatType= bSharedInfo(SI_REPEAT_MODE);

  //luoqing[04\10\22] for STOP sign is gone when press repeat
 if(!fgIsDiscPlay(bSharedInfo(SI_PBC_STATE)))
   return (UOP_FAIL);
 else if (bPbcState == SV_PBC_ON)
  {
    vOsdShowError(SV_ERR_PBC_OFF_ONLY, OSD_TIMEOUT_SHORT);
  }
  else /* SV_PBC_OFF */
  {
    if (0
#ifdef PROGRAM_NO_REPEAT
        || (bUsrCtrl == SV_PROGRAM)
#endif
#ifdef RANDOM_SHUFFLE_NO_REPEAT
        || (bUsrCtrl == SV_RANDOM) || (bUsrCtrl == SV_SHUFFLE)
#endif
      )
    {
      vOsdShowError(SV_ERR_NORMAL_PLAY_ONLY, OSD_TIMEOUT_SHORT);
      return (UOP_OK);
    }

    if( bUsrCtrl != SV_SHUFFLE){
         vSendUopCmd(UOP_A_TO_B, SV_AB_OFF, 0, 0);
       if(bRepeatType == SV_REPEAT_NONE)
           vSendUopCmd(UOP_REPEAT, SV_REPEAT_CHAPTER, 0, 0);
       else  if(bRepeatType == SV_REPEAT_CHAPTER)
           vSendUopCmd(UOP_REPEAT, SV_REPEAT_TITLE, 0, 0);    
       else  if((bRepeatType == SV_REPEAT_TITLE)  //:Christina: 030506 When repeat program is activate, Repeat key become no response
                || (bRepeatType == SV_REPEAT_ALL)){
           vSendUopCmd(UOP_REPEAT, SV_REPEAT_NONE, 0, 0);    
             if(!fgIsInGoto()
              && (bUsrCtrl != SV_PROGRAM))  //:Simon To solve Yamaha PR#129 shuffle problem
                    vSendUopCmd(UOP_SHUFFLE, SV_ON, 0, 0);
       }
    }
    else{
         vSendUopCmd(UOP_A_TO_B, SV_AB_OFF, 0, 0);
        if(bRepeatType == SV_REPEAT_NONE )
            vSendUopCmd(UOP_REPEAT, SV_REPEAT_ALL, 0, 0);    
         else  if(bRepeatType == SV_REPEAT_ALL){
            vSendUopCmd(UOP_REPEAT, SV_REPEAT_NONE, 0, 0);    
            vSendUopCmd(UOP_SHUFFLE, SV_OFF, 0, 0);
            vVfdTempMessage(VFD_MESSAGE_RPT_OFF, VFD_TMPMSG_TIMER);  //CR12 : add repeat off
             vOsdPosShow(OSD_POS_REPEAT_LEFT, OSD_MSG_REPEAT_OFF, OSD_TIMEOUT);
             // set _flDontClearOSD so that in vShowUsrPbcCtrl, the REPEAT OFF woun't be cleared
             _flDontClearOSD = 1;
           }
         else if(bRepeatType == SV_REPEAT_CHAPTER){
             vSendUopCmd(UOP_REPEAT, SV_REPEAT_TITLE, 0, 0);    
            vSendUopCmd(UOP_SHUFFLE, SV_OFF, 0, 0);
         }
             
    }
  }
  return (UOP_OK);
#endif
}
搜索更多相关主题的帖子: ONLY REPEAT bUsrCtrl RANDOM 
2008-06-17 21:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-219738-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.606842 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved