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

📄 audio_structs_i.h

📁 是一个手机功能的模拟程序
💻 H
📖 第 1 页 / 共 2 页
字号:
      {
        /* Request of the current session */
        T_AUDIO_MEM_SESSION_REQ   session_req;
        /* information of the current session */
        T_AUDIO_MEM_SESSION_INFO  session_info;
      } T_AUDIO_MEM_SESSION;
    #endif

    #if (MELODY_E1) || (MELODY_E2) || (VOICE_MEMO)

      typedef struct
      {
        UINT8  *p_start_pointer;
        UINT16  size;
      } T_AUDIO_DRIVER_BUFFER_INFO;

      typedef struct
      {
        UINT16    size; // initial size requested before to start the L1
        UINT8     nb_buffer; // nb buffer
        UINT8     session_id;
        void      *p_l1_send_message;   /* address to the message to send to the L1 */
        T_RV_RETURN return_path;
      } T_AUDIO_DRIVER_SESSION_REQ;

      typedef struct
      {
        UINT8                   index_l1; // index of the next buffer will be used by the L1
        UINT8                   index_appli; // index of the current buffer used by the FFS

        T_AUDIO_DRIVER_BUFFER_INFO *buffer; // pointers on temporary RAM buffers

        UINT8                   state;
        UINT8                   play_api_state;// only play
        T_RV_RETURN             notification_return_path; // driver notifications
        UINT8                   stop_request;// 0 first then 1 when stop request
      } T_AUDIO_DRIVER_SESSION_INFO;

      typedef struct
      {
        /* Request of the current session */
        T_AUDIO_DRIVER_SESSION_REQ   session_req;
        /* information of the current session */
        T_AUDIO_DRIVER_SESSION_INFO  session_info;
      } T_AUDIO_DRIVER_SESSION;
    #endif

    #if (SPEECH_RECO)
      typedef struct
      {
        /* enroll speech reco state */
        UINT8       state;
        /* voice sample file descriptor */
        T_FFS_FD  voice_ffs_fd;
        /* speech reco sample file descriptor */
        T_FFS_FD  sr_ffs_fd;
        /* task_id */
        UINT16       task_id;
        /* Speech buffer address */
        void        *p_speech_address;
        /* return path of the function that previously start the sppeech reco */
        T_RV_RETURN return_path;
      } T_AUDIO_SR_ENROLL_VAR;

      typedef struct
      {
        /* update speech reco state */
        UINT8       state;
        /* task_id */
        UINT16       task_id;
        /* Speech buffer address */
        void        *p_speech_address;
        /* Temporary model buffer address */
        void        *p_model_address;
        /* vocabulary size */
        UINT8        vocabulary_size;
        /* model index to update */
        UINT8        model_index;
        /* flag to mention if the speech must be recorded */
        BOOL         record_speech;
        /* return path of the function that previously start the sppeech reco */
        T_RV_RETURN return_path;
        /* pointer to the vocabulary database */
        void  *p_database;
      } T_AUDIO_SR_UPDATE_VAR;

      typedef struct
      {
        /* update speech reco state */
        UINT8       state;
        /* task_id */
        UINT16       task_id;
        /* vocabulary size */
        UINT8        vocabulary_size;
        /* return path of the function that previously start the sppeech reco */
        T_RV_RETURN return_path;
        /* pointer to the vocabulary database */
        void  *p_database;
      } T_AUDIO_SR_RECO_VAR;

      typedef struct
      {
        /* speech reco enroll variables */
        T_AUDIO_SR_ENROLL_VAR sr_enroll;
        T_AUDIO_SR_UPDATE_VAR sr_update;
        T_AUDIO_SR_RECO_VAR sr_reco;
      } T_AUDIO_SPEECH_RECO_VAR;
    #endif

    /* audio configuration variable */
    typedef struct
    {
      /* full access write state */
      UINT8   state;
      /* Number of message to receive */
      UINT8 number_of_message;
      /* address to the data buffer */
      void   *buffer;
      /* flag to know if the data buffer need to be deallocate or not */
      BOOLEAN             deallocate_buffer;
      /* return path of the function that previously start the full access write */
      T_RV_RETURN return_path;
    }
    T_AUDIO_FULL_ACCESS_WRITE_VAR;

    typedef struct
    {
      /* state of the audio mode load state machine */
      UINT8 state;
      /* Number of message to receive */
      UINT8 number_of_message;
      /* pointer to the RAM buffer */
      T_AUDIO_MODE *p_audio_mode;
      /* return path */
      T_RV_RETURN return_path;
    }
    T_AUDIO_MODE_LOAD_VAR;

    typedef struct
    {
      char  audio_volume_path_name[AUDIO_PATH_NAME_MAX_SIZE];
    }
    T_AUDIO_VOLUME_VAR;

    typedef struct
    {
      T_AUDIO_FULL_ACCESS_WRITE_VAR full_access_write_var;
      T_AUDIO_MODE_LOAD_VAR         audio_mode_load_var;
      T_AUDIO_VOLUME_VAR            audio_volume_var;
      } T_AUDIO_MODE_VAR;

    typedef struct
    {
      T_RVF_ADDR_ID          addrId;            /* AUDIO address ID.       */
      T_RVF_ADDR_ID          audio_ffs_addrId;  /* AUDIO FFS manager address ID.       */

      T_RVF_MB_ID            mb_internal;   /* AUDIO internal memory bank. */
      T_RVF_MB_ID            mb_external;   /* AUDIO external memory bank. */
      T_RVF_MB_ID            mb_audio_ffs;  /* AUDIO FFS memory bank */
      T_RVM_RETURN           (*callBackFct)  (T_RVM_NAME        SWEntName,
                                              T_RVM_RETURN      errorCause,
                                              T_RVM_ERROR_TYPE  errorType,
                                              T_RVM_STRING      errorMsg);

      BOOLEAN               message_processed;

      #if (KEYBEEP)
        /* Keybeep global variable */
        T_AUDIO_KEYBEEP_VAR     keybeep;
      #endif
      #if (TONE)
        /* Tones global variable */
        T_AUDIO_TONES_VAR     tones;
      #endif
      #if (MELODY_E1)
        /* Melody_E1 global variable */
        BOOLEAN                   melody_E1_mode;
        T_AUDIO_MELODY_E1_VAR     melody_E1_0;
        T_AUDIO_MELODY_E1_VAR     melody_E1_1;
      #endif
      #if (MELODY_E2)
        /* Melody_E2 global variable */
        BOOLEAN                                melody_E2_mode;
        T_AUDIO_MELODY_E2_VAR                  melody_E2_0;
        T_AUDIO_MELODY_E2_VAR                  melody_E2_1;
        T_AUDIO_MELODY_E2_LOAD_FILE_VAR melody_E2_load_file_instruments;
      #endif
      #if (VOICE_MEMO)
        /* Voice Memo global variable */
        T_AUDIO_VOICE_MEMO_PLAY_VAR       vm_play;
        T_AUDIO_VOICE_MEMO_RECORD_VAR     vm_record;
      #endif
      #if (L1_VOICE_MEMO_AMR)
        /* Voice Memo global variable */
        T_AUDIO_VOICE_MEMO_AMR_RECORD_TO_MEM_VAR audio_vm_amr_record;
        T_AUDIO_VOICE_MEMO_AMR_PLAY_FROM_MEM_VAR audio_vm_amr_play;
      #endif
      #if (SPEECH_RECO)
        /* Speech reco global variable */
        T_AUDIO_SPEECH_RECO_VAR       speech_reco;
      #endif
      /* audio mode variable */
      T_AUDIO_MODE_VAR  audio_mode_var;

      #if (MELODY_E1) ||(MELODY_E2) || (VOICE_MEMO)
        /* Audio FFS global variable */
        T_AUDIO_FFS_SESSION audio_ffs_session[AUDIO_FFS_MAX_CHANNEL];
      #endif
      #if (AUDIO_MEM_MANAGER)
        T_AUDIO_MEM_SESSION audio_mem_session[AUDIO_MEM_MAX_CHANNEL];
      #endif
      #if (MELODY_E1) ||(MELODY_E2) || (VOICE_MEMO) || (L1_VOICE_MEMO_AMR)
        /* Audio FFS global variable */
        T_AUDIO_DRIVER_SESSION audio_driver_session[AUDIO_DRIVER_MAX_CHANNEL];
      #endif
    }
    T_AUDIO_ENV_CTRL_BLK;

    #ifdef __cplusplus
       }
    #endif
  #endif /* _AUDIO_STRUCTS_I_ */
#endif /* #ifdef RVM_AUDIO_SWE */

⌨️ 快捷键说明

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