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

📄 playeradapter.h

📁 symbian 可以实现控制声音大小的源码 非常实用!
💻 H
字号:
/* Copyright (c) 2004, Nokia. All rights reserved */



#ifndef __CPLAYERADAPTER_H__
#define __CPLAYERADAPTER_H__

// INCLUDES
#include <MdaAudioSamplePlayer.h>
#include "audioadapter.h"

// FORWARD DECLARATIONS
class CSoundAppUi;


// CLASS DECLARATION

/* 
* An instance of class CPlayerAdapter is an adapter object for 
* the CMdaAudioPlayerUtility class.
*/
class CPlayerAdapter : public CBase, 
                       public MAudioAdapter, 
                       public MMdaAudioPlayerCallback
    {
    public:
    
        /**
        * NewL
        * Two-phased constructor.
        * Create a CPlayerAdapter object using two phase construction,
        * and return a pointer to the created object
        * @param aFileName the audio file
        * @param aAppUi the User Interface
        * @return pointer to new object
        */
        static CPlayerAdapter* NewL( const TDesC& aFileName,
                                     CSoundAppUi& aAppUi );
 
        /**
        * NewLC
        * Two-phased constructor.
        * Create a CPlayerAdapter object using two phase construction,
        * and return a pointer to the created object
        * @param aFileName the audio file
        * @param aAppUi the User Interface
        * @return pointer to new object
        */
        static CPlayerAdapter* NewLC( const TDesC& aFileName,
                                      CSoundAppUi& aAppUi );

        /**
        * ~CPlayerAdapter.
        * Virtual Destructor.
        */
        virtual ~CPlayerAdapter();


    public: // from MAudioAdapter

        /**
        * PlayL
        * Begin playback of the audio sample. 
        */      
        void PlayL();

        /**
        * RecordL
        * Do nothing. Recording is not supported.
        */
        void RecordL();

        /**
        * StopL
        * Stop playback of the audio sample.
        * Note that this implementation of the virtual function does not leave.
        */
        void StopL();

        /**
        * UpdateMenuL
        * Update the menu aMenuPane to reflect the current state of the 
        * audio player utility. Note that this implementation of the 
        * virtual function does not leave. 
        * @param aMenuPane the menu pane to update
        */
        void UpdateMenuL( CEikMenuPane* aMenuPane );

        /**
        * Identify
        * Return an identifying string 
        * @return An identification string 
        */
        const TDesC& Identify();

    
    public: // from MMdaAudioPlayerCallback

        /**
        * MapcInitComplete
        * Handle the event when initialisation of 
        * the audio player utility is complete.
        * @param aError The status of the audio sample after initialisation
        * @param aDuration The duration of the sample
        */
        void MapcInitComplete( TInt aError, 
                               const TTimeIntervalMicroSeconds& aDuration );

        /**
        * MapcPlayComplete
        * Handle the event when when the audio player utility
        * completes asynchronous playing.
        * @param aError The status of playback
        */
        void MapcPlayComplete( TInt aError );

    private:    // Constructors

        /**
        * CPlayerAdapter.
        * C++ default constructor.
        * Perform the first phase of two phase construction 
        * @param aAppUi the Ui to use
        */
        CPlayerAdapter( CSoundAppUi& aAppUi );
    
        /**
        * ConstructL
        * 2nd phase constructor.
        * @param aFileName the audio file
        */
        void ConstructL( const TDesC& aFileName );

    private:    // Data

        /**
        * TState
        * The application state
        * - ENotReady Not ready to play
        * - EReadyToPlay Ready to play
        * - EPlaying Playing
        */
        enum TState
        {
            ENotReady,
            EReadyToPlay,
            EPlaying
        };

        /** iState The current state of the audio player utility. **/    
        TState iState;

        /**
        * iMdaAudioPlayerUtility. The audio player utility object.
        * owned by CPlayerAdapter object.
        */
        CMdaAudioPlayerUtility* iMdaAudioPlayerUtility;


        /** iAppUi Reference to the application's UI object. **/
        CSoundAppUi& iAppUi;

        /**
        * itextResourceIdentifier. Textresource for identifier
        * owned by CPlayerAdapter object.
        */
        HBufC* itextResourceIdentifier;
    };

#endif // __CPLAYERADAPTER_H__


// End of File

⌨️ 快捷键说明

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