?? mediaplayeriface.cpp.svn-base
字號(hào):
/***************************************** Copyright 2001-2003 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************/#ifndef ALLOW_OS_CODE#define ALLOW_OS_CODE 1#endif //ALLOW_OS_CODE#include "common.h"#include "mediaplayeriface.h"#include "gui/gui.h"#include <stdio.h>#define STATE_TO_STRING(state) \ (state==STATE_CLOSE)?"CLOSE": \ (state==STATE_PLAY)?"PLAY": \ (state==STATE_STOP)?"STOP": \ (state==STATE_PAUSE)?"PAUSE": \ (state==STATE_STEP)?"STEP": \ (state==STATE_FAST_FORWARD)?"FAST_FORWARD": \ (state==STATE_FAST_REWIND)?"FAST_REWIND": \ (state==STATE_SLOW_FORWARD)?"SLOW_FORWARD": "INVALID_STATE"RMmediaPlayerIface::RMmediaPlayerIface(typeCuracaoContext *context, typeMediaPlayer type) : m_context (context), m_initialized (FALSE), m_speed(1), m_last_speed(0), m_state (STATE_CLOSE), m_type(type){}RMmediaPlayerIface::~RMmediaPlayerIface(){}int RMmediaPlayerIface::GetUserInputFromRemote(RMremoteHandle rh, RMbool oneDigit){ RMremoteKey rc; int digit = 0; RMbool wrongInput; while(1){ rc = RMFremoteWaitSymbol(rh, MS_REMOTE_TIMEOUT); if (rc!=RM_HW_TIMEOUT) { wrongInput = FALSE; switch (rc){ case RM_HW_ON_OFF: printf("\nAborted\n"); return -1; case RM_HW_KEY_1: digit = digit*10+1; printf("1"); break; case RM_HW_KEY_2: digit = digit*10+2; printf("2"); break; case RM_HW_KEY_3: digit = digit*10+3; printf("3"); break; case RM_HW_KEY_4: digit = digit*10+4; printf("4"); break; case RM_HW_KEY_5: digit = digit*10+5; printf("5"); break; case RM_HW_KEY_6: digit = digit*10+6; printf("6"); break; case RM_HW_KEY_7: digit = digit*10+7; printf("7"); break; case RM_HW_KEY_8: digit = digit*10+8; printf("8"); break; case RM_HW_KEY_9: digit = digit*10+9; printf("9"); break; case RM_HW_KEY_0: digit = digit*10; printf("0"); break; case RM_HW_SELECT: case RM_HW_ENT: printf("\n"); return digit; default: printf("wrong input : type 0 to 9 and enter\n"); wrongInput = TRUE; break; } if(oneDigit && !wrongInput) { printf("\n"); return digit; } } }}RMint8 RMmediaPlayerIface::GetSpeed(){ return (RMint8) m_speed;}typeMediaPlayerSate RMmediaPlayerIface::GetState(){ return m_state;}void RMmediaPlayerIface::SetState(typeMediaPlayerSate state, void *val){ RMint8 speed = 0; if(((state == STATE_FAST_FORWARD) || (state == STATE_FAST_REWIND) || (state == STATE_SLOW_FORWARD)) && (val != NULL)) speed = *(RMint8*)val; printf("state %d, old state %d", state, m_state); //if((state != m_state) ||((speed != 0) &&(speed != (RMint8) m_last_speed))) { typePlayMode playMode; printf("Change state : %s -> %s (speed=%i)...\n", STATE_TO_STRING(m_state), STATE_TO_STRING(state), speed); switch (state){ case STATE_CLOSE: case STATE_STOP: m_context->remoteTimeout = MS_REMOTE_TIMEOUT; break; case STATE_PAUSE: m_context->remoteTimeout = MS_REMOTE_TIMEOUT; break; case STATE_PLAY: case STATE_FAST_FORWARD: case STATE_FAST_REWIND: case STATE_SLOW_FORWARD: if(m_type != FILE_PLAYER) m_context->remoteTimeout = 0; break; case STATE_STEP: m_context->remoteTimeout = MS_REMOTE_TIMEOUT; break; default: printf("Unknown state : %s\n", STATE_TO_STRING(state)); return; } printf("... done with state\n"); m_state = state; m_last_speed = speed; m_speed = speed; playMode.state = state; playMode.val = val; SendMessage(CURACAO_MESSAGE_PLAY_MODE, (void *)&playMode); }// else// printf("error!!!!!!!\n");}RMstatus RMmediaPlayerIface::SendMessage(typeCuracaoMessage message, void *val){ if(m_context->gui) { return m_context->gui->Notify(message, val); } return RM_ERROR;}typeMediaPlayer RMmediaPlayerIface::GetType(){ return m_type;}RMstatus RMmediaPlayerIface::UpdateDisplayInfo(){ return RM_ERROR;}RMstatus RMmediaPlayerIface::UpdateMediaInfo(){ return RM_ERROR;}RMstatus RMmediaPlayerIface::GetParameters(void **params){ if(m_context->gui) { if(m_type == DVDVIDEO_PLAYER){ typeCuracaoDvdParameters p; if(RMSUCCEEDED(m_context->gui->GetDvdParameters(&p))){ *params = &p; return RM_OK; } } } return RM_ERROR;}RMstatus RMmediaPlayerIface::GetInfo(typeCuracaoMessage message, void *val){ return RM_PROPERTY_NOT_SUPPORTED;}RMstatus RMmediaPlayerIface::GetBookmark(RMuint8 *val, RMuint32 size){ return RM_ERROR;}RMstatus RMmediaPlayerIface::ResumeBookmark(RMuint8 *val){ return RM_ERROR;}RMuint32 RMmediaPlayerIface::GetDiscID(){ return 0;}RMstatus RMmediaPlayerIface::GetAudioStreamID(RMuint8 stream, RMascii *str){ return RM_PROPERTY_NOT_SUPPORTED;}RMstatus RMmediaPlayerIface::GetCurrentAudioStream(RMuint8 *stream){ return RM_PROPERTY_NOT_SUPPORTED;}RMbool RMmediaPlayerIface::IsMenu(){ return FALSE;}RMstatus RMmediaPlayerIface::SetStreamInfo(struct RMFileStreamInfo *streamInfo){ return RM_ERROR;}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -