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

📄 vrexfiledetailsdialog.cpp

📁 S60 实现了录制和播放的功能
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    Return values: N/A

-----------------------------------------------------------------------------
*/
void CVideoFileDetailsDialog::MakeDurationItemL(CDesCArray* aItemArray,
                                             CVideoFileDetails* aFileDetails)
    {
    TInt64 duration = aFileDetails->iDurationInSeconds;
    if (duration > 0)
        {
        HBufC* dateFormatString;
        if (duration < KOneHourInSeconds)
            {
            // Read time format string from AVKON resource
            dateFormatString = StringLoader::LoadLC(R_QTN_TIME_DURAT_MIN_SEC); 
            }
        else
            {
            // Read time format string from AVKON resource
            dateFormatString = StringLoader::LoadLC(R_QTN_TIME_DURAT_LONG); 
            }
        TBuf<KMaxDurLength> dur;
        TTime durTime = TTime(duration*KMPOneSecond);
        durTime.FormatL(dur, *dateFormatString);
        HBufC* heading = StringLoader::LoadLC(R_VREX_FILE_DURATION_HEADING);
        AddItemToListBoxL(*heading,dur,aItemArray);
        CleanupStack::PopAndDestroy(heading);
        CleanupStack::PopAndDestroy(dateFormatString);
        }
    }

/*
-----------------------------------------------------------------------------

	void CVideoFileDetailsDialog::MakeBitrateItemL(CDesCArray* aItemArray,
                                            CVideoFileDetails* aFileDetails)

	Description: This method makes bitrate item.
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CVideoFileDetailsDialog::MakeBitrateItemL(CDesCArray* aItemArray,
                                            CVideoFileDetails* aFileDetails)
    {
    if (aFileDetails->iBitrate > 0)
        {
        HBufC* heading = StringLoader::LoadLC(R_VREX_FILE_BITRATE_HEADING);
        HBufC* value = StringLoader::LoadLC(R_VREX_FILE_BITRATE,
        				aFileDetails->iBitrate / KFileSizeOneKilobyte);
        AddItemToListBoxL(*heading,*value,aItemArray);
		CleanupStack::PopAndDestroy(value);
		CleanupStack::PopAndDestroy(heading);
        }
    }

/*
-----------------------------------------------------------------------------

	void CVideoFileDetailsDialog::MakeSizeItemL(CDesCArray* aItemArray,
                                         CVideoFileDetails* aFileDetails)

	Description: This method makes size item.
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CVideoFileDetailsDialog::MakeSizeItemL(CDesCArray* aItemArray,
                                         CVideoFileDetails* aFileDetails)
    {
    if (aFileDetails->iSize)
        {
        TRealFormat format = TRealFormat(256,2);
        TBuf<256> sizeString;
        HBufC* value;
        HBufC* heading = StringLoader::LoadLC(R_VREX_FILE_SIZE_HEADING);
        TReal size = aFileDetails->iSize;
        size = size/KFileSizeOneKilobyte;
        // Show kilobytes with 3 digits. If more digits needed, show size 
        // in megabytes
        if (size < 1000)
            {
            sizeString.Num(size,format);
            switch (sizeString.Length())
                {
                case 6:
                    sizeString = sizeString.Left(3);
                    break;
                case 5:
                    sizeString = sizeString.Left(4);
                    break;
                default:
                    break;
                }
            value = StringLoader::LoadLC(R_VREX_FILE_SIZE_KB,sizeString);
            }
        else
            {
            size = size/KFileSizeOneKilobyte;
            sizeString.Num(size,format);
            switch (sizeString.Length())
                {
                case 6:
                    sizeString = sizeString.Left(3);
                    break;
                case 5:
                    sizeString = sizeString.Left(4);
                    break;
                default:
                    break;
                }
            value = StringLoader::LoadLC(R_VREX_FILE_SIZE_MB,sizeString);
            }
        AddItemToListBoxL(*heading,*value,aItemArray);
        CleanupStack::PopAndDestroy(value); // heading & value
        CleanupStack::PopAndDestroy(heading);
        }
    }

/*
-----------------------------------------------------------------------------

	void CVideoFileDetailsDialog::MakeDateItemL(CDesCArray* aItemArray,
                                         CVideoFileDetails* aFileDetails)

	Description: This method makes date item.
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CVideoFileDetailsDialog::MakeDateItemL(CDesCArray* aItemArray,
                                         CVideoFileDetails* aFileDetails)
    {
    if (aFileDetails->iTime > TTime(0))
        {
        HBufC* heading = StringLoader::LoadLC(R_VREX_FILE_DATE_HEADING);
        HBufC* dateFormatString = 
            StringLoader::LoadLC(R_QTN_DATE_USUAL_WITH_ZERO);
        TBuf<KMaxDateTimeLength> date;
        aFileDetails->iTime.FormatL(date,*dateFormatString);
        AddItemToListBoxL(*heading,date,aItemArray);
        CleanupStack::PopAndDestroy(dateFormatString);
        CleanupStack::PopAndDestroy(heading);
        }
    }

/*
-----------------------------------------------------------------------------

	void CVideoFileDetailsDialog::MakeTimeItemL(CDesCArray* aItemArray,
                                         CVideoFileDetails* aFileDetails)

	Description: This method makes time item.
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CVideoFileDetailsDialog::MakeTimeItemL(CDesCArray* aItemArray,
                                         CVideoFileDetails* aFileDetails)
    {
    if (aFileDetails->iTime > TTime(0))
        {
        HBufC* heading = StringLoader::LoadLC(R_VREX_FILE_TIME_HEADING);
        HBufC* timeFormatString = 
            StringLoader::LoadLC(R_QTN_TIME_USUAL_WITH_ZERO);
        TBuf<KMaxDateTimeLength> time;
        aFileDetails->iTime.FormatL(time,*timeFormatString);
        AddItemToListBoxL(*heading,time,aItemArray);
        CleanupStack::PopAndDestroy(timeFormatString);
        CleanupStack::PopAndDestroy(heading);
        }
    }

/*
-----------------------------------------------------------------------------

	void CVideoFileDetailsDialog::MakeCopyrightItemL(CDesCArray* aItemArray,
                                              CVideoFileDetails* aFileDetails)

	Description: This method makes copyright item.
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CVideoFileDetailsDialog::MakeCopyrightItemL(CDesCArray* aItemArray,
                                              CVideoFileDetails* aFileDetails)
    {
    if (aFileDetails->iCopyright)
        {
        HBufC* heading = StringLoader::LoadLC(R_VREX_FILE_COPYRIGHT_HEADING);
        AddItemToListBoxL(*heading,*aFileDetails->iCopyright,aItemArray);
        CleanupStack::PopAndDestroy(heading); // heading
        }
    }

/*
-----------------------------------------------------------------------------

	void CVideoFileDetailsDialog::MapcInitComplete(TInt aError,
				const TTimeIntervalMicroSeconds& aDuration)

	Description: This method defines required client behaviour when an attempt to
				 open and initialise an audio sample has completed, successfully or
				 otherwise.
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CVideoFileDetailsDialog::MapcInitComplete(TInt aError,
					const TTimeIntervalMicroSeconds& /*aDuration*/)
    {
    // Open completed, resume ExecuteLD(const TDesC& aFileName)
    iResult = aError;
    iWait.AsyncStop();
    }

/*
-----------------------------------------------------------------------------

	void CVideoFileDetailsDialog::MapcPlayComplete(TInt aError)

	Description: This method defines required client behaviour when an attempt to
	             play an audio sample has completed, successfully or otherwise.
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CVideoFileDetailsDialog::MapcPlayComplete(TInt /*aError*/)
    {
    }

/*
-----------------------------------------------------------------------------

	void CVideoFileDetailsDialog::MvpuoOpenComplete(TInt aError)

	Description: This method defines required client behaviour when an attempt to
				 open a video sample has completed, successfully or otherwise.
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CVideoFileDetailsDialog::MvpuoOpenComplete(TInt aError)
    {
    // Open completed, resume ExecuteLD(const TDesC& aFileName)
    iResult = aError;
    iWait.AsyncStop();
    }

/*
-----------------------------------------------------------------------------

	void CVideoFileDetailsDialog::MvpuoFrameReady(CFbsBitmap& aFrame,TInt aError)

	Description: This method defines required client behaviour when a request to
				 capture a frame is made using CVideoPlayerUtility::GetFrame().
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CVideoFileDetailsDialog::MvpuoFrameReady(CFbsBitmap& /*aFrame*/,
    TInt /*aError*/)
    {
    }

/*
-----------------------------------------------------------------------------

	void CVideoFileDetailsDialog::MvpuoPlayComplete(TInt aError)

	Description: This method defines required client behaviour when an attempt to
				 play a video sample has completed, successfully or otherwise.
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CVideoFileDetailsDialog::MvpuoPlayComplete(TInt /*aError*/)
    {
    }

/*
-----------------------------------------------------------------------------

	void CVideoFileDetailsDialog::MvpuoPrepareComplete(TInt aError)

	Description: Prepare has been completed.
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CVideoFileDetailsDialog::MvpuoPrepareComplete(TInt aError)
    {
     // Prepare completed, resume ExecuteLD(const TDesC& aFileName)
    iResult = aError;
    iWait.AsyncStop();
    }

/*
-----------------------------------------------------------------------------

	void CVideoFileDetailsDialog::MvpuoEvent(const TMMFEvent& aEvent)

	Description: Mvpuo Event comes in.
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CVideoFileDetailsDialog::MvpuoEvent(const TMMFEvent& /*aEvent*/)
    {
    }

/*
-----------------------------------------------------------------------------

	CPDummyController::CPDummyController()

	Description: C++ default constructor can NOT contain any code that might
				 leave
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
CPDummyController::CPDummyController()
	{
	}

/*
-----------------------------------------------------------------------------

	void CPDummyController::ConstructL()

	Description: Symbian 2nd phase constructor can leave.
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CPDummyController::ConstructL()
	{
	CreateWindowL();
	SetExtent(TPoint(0,0), TSize(KWinSize,KWinSize));
	ActivateL();
	SetPointerCapture(ETrue);
	ClaimPointerGrab(ETrue);
	iEikonEnv->EikAppUi()->AddToStackL(this, ECoeStackPriorityEnvironmentFilter);
	}

/*
-----------------------------------------------------------------------------

	void CPDummyController::ConstructL()

	Description: Two-phased constructor.
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
CPDummyController* CPDummyController::NewLC()
	{
	CPDummyController* self= new (ELeave) CPDummyController();
	CleanupStack::PushL(self);
	self->ConstructL();
	return self;
	}


/*
-----------------------------------------------------------------------------

	CPDummyController::~CPDummyController()

	Description: Destructor
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
CPDummyController::~CPDummyController()
	{
	if (iCoeEnv && iEikonEnv->EikAppUi())
		iEikonEnv->EikAppUi()->RemoveFromStack(this);
	}

/*
-----------------------------------------------------------------------------

	TKeyResponse CPDummyController::OfferKeyEventL(const TKeyEvent& aKeyEvent,
					TEventCode aType)

	Description: This method absorbs all the key presses.
	Comments   :

    Return values: EKeyWasConsumed

-----------------------------------------------------------------------------
*/
TKeyResponse CPDummyController::OfferKeyEventL(const TKeyEvent& /*aKeyEvent*/,
    TEventCode /*aType*/)
	{
	return EKeyWasConsumed;
	}

// End of File

⌨️ 快捷键说明

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