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

📄 videoplayer_main.c

📁 C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码
💻 C
📖 第 1 页 / 共 2 页
字号:
//********************************************************************
// Name:    mp3_ap_main.c
// 
// Copyright (C) Sitronix TECHNOLOGY INC.
// All rights reserved by Sitronix TECHNOLOGY INC.
//
// Project:    ST3110
// Author:      Terry Wu
// Begin Date:  2008/01/01
// Last update: 2008/04/01
// $Header: $
// Description:
//   deal with event 
//   
//   
//********************************************************************
#include <intr6502.h>
#include <stdlib.h>
#include "sys.h"
#include "MusicPlayer.h"
#include "VideoPlayer.h"
#include "MusicBrowser.h"
#include "img_position.h"
#include "ST3110_img_define.h"


#pragma codeseg(APP)

extern uint8 video_state;
extern uint8 volume,bl;
extern uint8 language;
extern uint8 sfnPtr[13],lfnPtr[256];
extern uint16 Folders,Files;
extern uint16 current_song_no;
extern uint32 video_format;
extern uint8 counter_2hz;

extern void video_play(void);
extern void _show_error_message_box(void);
void v_process_key_events(void);

        
void APP_MAIN(void)
{
 v_process_key_events();        
}


void v_process_key_events(void)
{
        uint8 key_id,thd_state;
        ////disable_interrupt();
        
        if(API_OsCheckEventOccur(EVID_KEY_DOWN_60MS))
        {       API_OsReleaseEvent(EVID_KEY_DOWN_60MS);
                if(video_state == ERROR_STATE)
                {
                  // show video browser BG
                  API_SysWriteValue(RAM_SHARING_ADR,LAST_TASK,TASKID_VIDEOPLAYER);
                  API_SysWriteValue(RAM_SHARING_ADR,VID_PAINT_FLAG,3); 
                  API_OsSetCurrentTask(TASKID_VIDEOBROWSER);
                  return;              
                }
                key_id = API_OsGetKeyId();
                switch (key_id)
                {
                 case KEYID_UP:
                 {
                     switch(video_state)
                     { 
                      case PLAY_STATE:
                      case STOP_STATE:
                      case PAUSE_STATE:
                                if(volume < VOLUME_NUM-1)
                                {
                                 volume++;
                                 API_VideoVolumeAdjust(volume*15);
                                 API_SysWriteValue(RAM_SETTING_ADR,SET_VOLUME,volume);
                                }
                                break;
                      default:
                                break;
                     }
                 }
                 break;
                 case KEYID_DOWN:
                 {
                     switch(video_state)
                     {
                      case PLAY_STATE:
                      case STOP_STATE:
                      case PAUSE_STATE:
                                if(volume > 0)
                                {
                                 volume--;
                                 API_VideoVolumeAdjust(volume*15);
                                 API_SysWriteValue(RAM_SETTING_ADR,SET_VOLUME,volume);
                                }
                                break;
                      default:
                               break;
                     }
                 }
                 break;

                 case KEYID_LEFT:
                 {      
                        switch (video_state)
                        {
                         case PLAY_STATE:
                         case STOP_STATE:
                         case PAUSE_STATE:
                                video_state = LAST_STATE;
                                break;
                         default:
                                break;
                        }
                 }
                 break;
                 case KEYID_RIGHT:
                 {      
                        switch (video_state)
                        {
                         case PLAY_STATE:
                         case STOP_STATE:
                         case PAUSE_STATE:
                                video_state = NEXT_STATE;
                                break;
                         default:
                                break;
                        }
                 }
                 break;

                 case KEYID_PLAY:
                 {
                        switch(video_state)
                        {
                         case PLAY_STATE: //do pause
                                API_VideoPause();
                                break;

                         case PAUSE_STATE: //do Resume
                                API_VideoResume();
                                break;
                                
                         default:
                                break;
                        }
                 }
                 break; 
                 
                 case KEYID_MODE:
                 {
                        //API_VideoStop();
                        video_state = MODE_STATE;
                 }
                 break;
/*
                                 case KEYID_AB:
                                        {
                                                uint32 frame_no;
                                                API_VideoGetFrame(&frame_no);
                                                API_SysWriteValue4B(RAM_SHARING_ADR,FRAME_NO_LL,frame_no);
                                                API_VideoStop();
                                        }
                                                break;
*/                                                
/*                                              
                                 case KEYID_SETTING:
                                        {
                                                API_VideoSetFrame(API_SysReadValue4B(RAM_SHARING_ADR,FRAME_NO_LL));
                                                API_VideoPlay(0,0);
                                        }
                                        
                                                break;
*/        
                 default:
                        break;
               }
               API_OsPendEvent(EVID_KEY_DOWN_60MS);
        }

        if(API_OsCheckEventOccur(EVID_KEY_DOWN_1S))
        {
          API_OsReleaseEvent(EVID_KEY_DOWN_1S);
          key_id = API_OsGetKeyId();
          switch(key_id)
          {             
                case KEYID_LEFT:
                        switch(video_state)
                        {
                         //case PLAY_STATE: 
                         //case PAUSE_STATE:
                         //case NEXT_STATE:
                         case LAST_STATE:
                                API_VideoBackward();
                                break;
                         default:
                                break;
                        }
                        break;
                        
                case KEYID_RIGHT:
                        switch(video_state)
                        {
                         //case PLAY_STATE: 
                         //case PAUSE_STATE:
                         case NEXT_STATE:
                         //case LAST_STATE:
                                API_VideoForward();
                                break;
                         default:
                                break;
                        }
                        break;
                        
                 default:
                        break;                                  
          }
          API_OsPendEvent(EVID_KEY_DOWN_1S);
        }

        if(API_OsCheckEventOccur(EVID_KEY_KEEP_DOWN))
        {
          API_OsReleaseEvent(EVID_KEY_KEEP_DOWN);
          key_id = API_OsGetKeyId();
          switch(key_id)
          {             

                 case KEYID_UP:
                     switch(video_state)
                     {
                      case PLAY_STATE:
                      case STOP_STATE:
                      case PAUSE_STATE:
                                if(volume < VOLUME_NUM-1)
                                {
                                 volume++;
                                 API_VideoVolumeAdjust(volume*15);
                                 API_SysWriteValue(RAM_SETTING_ADR,SET_VOLUME,volume);
                                }
                                break;
                      default:
                                break;
                      }
                      break;
                      
                 case KEYID_DOWN:
                     switch(video_state)
                     {
                      case PLAY_STATE:
                      case STOP_STATE:
                      case PAUSE_STATE:
                                if(volume > 0)
                                {
                                 volume--;
                                 API_VideoVolumeAdjust(volume*15);
                                 API_SysWriteValue(RAM_SETTING_ADR,SET_VOLUME,volume);
                                }

⌨️ 快捷键说明

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