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

📄 resource_audio.h

📁 最新MTK手机软件源码
💻 H
字号:
/*****************************************************************************
*  Copyright Statement:
*  --------------------
*  This software is protected by Copyright and the information contained
*  herein is confidential. The software may not be copied and the information
*  contained herein may not be used or disclosed except with the written
*  permission of MediaTek Inc. (C) 2005
*
*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
*
*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/

/*****************************************************************************
 *
 * Filename:
 * ---------
 * RESOURCE_AUDIO.H
 *
 * Project:
 * --------
 *   MAUI
 *
 * Description:
 * ------------
 *   This file is intends for audio resource database.
 *
 * Author:
 * -------
 * -------
 *
 *============================================================================
 *             HISTORY
 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *------------------------------------------------------------------------------
 *------------------------------------------------------------------------------
 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *============================================================================
 ****************************************************************************/

#ifndef _MMI_AUDIO_H
#define _MMI_AUDIO_H

typedef enum
{
   MIN_TONE_ID = 0,                         
   TONE_DTMF_0 = MIN_TONE_ID,            	/* 0 */
   TONE_DTMF_1,            					/* 1 */
   TONE_DTMF_2,            					/* 2 */
   TONE_DTMF_3,            					/* 3 */
   TONE_DTMF_4,            					/* 4 */
   TONE_DTMF_5,            					/* 5 */
   TONE_DTMF_6,            					/* 6 */
   TONE_DTMF_7,            					/* 7 */
   TONE_DTMF_8,            					/* 8 */
   TONE_DTMF_9,								/* 9 */
   TONE_KEY_STAR,          					/* 10 */
   TONE_KEY_HASH,          					/* 11 */
   TONE_KEY_NORMAL,							/* 12 */
   TONE_KEY_VOL_UP = TONE_KEY_NORMAL,     /* 12 */   
   TONE_KEY_VOL_DOWN = TONE_KEY_NORMAL,  /* 12 */   
   TONE_KEY_UP = TONE_KEY_NORMAL,         /* 12 */   
   TONE_KEY_DOWN = TONE_KEY_NORMAL,      /* 12 */   
   TONE_KEY_LEFT = TONE_KEY_NORMAL,       /* 12 */   
   TONE_KEY_RIGHT = TONE_KEY_NORMAL,     /* 12 */    
   TONE_KEY_MENU = TONE_KEY_NORMAL,      /* 12 */    
   TONE_KEY_FUNCTION = TONE_KEY_NORMAL,  /* 12 */    
   TONE_KEY_SK_LEFT = TONE_KEY_NORMAL,   /* 12 */    
   TONE_KEY_SK_RIGHT = TONE_KEY_NORMAL,  /* 12 */    
   TONE_KEY_SEND = TONE_KEY_NORMAL,      /* 12 */    
   TONE_KEY_END = TONE_KEY_NORMAL,       /* 12 */    
   TONE_KEY_POWER = TONE_KEY_NORMAL,     /* 12 */   

   TONE_KEY_CLICK,						/* 13 */

   TONE_CALL_CONNECT,					/* 14 */
   TONE_MT_SMS_IN_CALL,					/* 15 */
   TONE_CALL_TIME_REMINDER,				/* 16 */

   TONE_DIAL_CALL_GSM,    				/* 17 */
   TONE_DIAL_CALL_PCS,     				/* 18 */
   TONE_BUSY_CALL_GSM,    				/* 19 */
   TONE_BUSY_CALL_PCS,    				/* 20 */
   TONE_CONGESTION_GSM,  				/* 21 */ 
   TONE_CONGESTION_PCS,   				/* 22 */
   TONE_RADIO_PATH,       				/* 23 */
   TONE_RADIO_NA,         				/* 24 */
   TONE_ERROR_INFO,        				/* 25 */
   TONE_NUM_UNOBTAIN,     				/* 26 */
   TONE_AUTH_ERROR,       				/* 27 */
   TONE_CALL_WAITING,      				/* 28 */
   TONE_RINGING_CALL_GSM, 				/* 29 */
   TONE_RINGING_CALL_PCS, 				/* 30 */
   TONE_POSITIVE_ACK,      				/* 31 */
   TONE_NEGATIVE_ACK,     				/* 32 */   
													
   TONE_DIAL_CALL_GSM_STK,				/* 33 */
   TONE_DIAL_CALL_PCS_STK,				/* 34 */
   TONE_BUSY_CALL_GSM_STK,				/* 35 */
   TONE_BUSY_CALL_PCS_STK,				/* 36 */
   TONE_CONGESTION_GSM_STK,				/* 37 */
   TONE_CONGESTION_PCS_STK,				/* 38 */
   TONE_RADIO_PATH_STK,   				/* 39 */
   TONE_RADIO_NA_STK,     				/* 40 */
   TONE_ERROR_INFO_STK,   			    /* 41 */
   TONE_NUM_UNOBTAIN_STK, 				/* 42 */
   TONE_AUTH_ERROR_STK,   				/* 43 */
   TONE_CALL_WAITING_STK, 				/* 44 */
   TONE_RINGING_CALL_GSM_STK,			/* 45 */
   TONE_RINGING_CALL_PCS_STK,			/* 46 */
   TONE_POSITIVE_ACK_STK, 				/* 47 */
   TONE_NEGATIVE_ACK_STK, 				/* 48 */
			
			
   TONE_WARNING1,						/* 49 */
   TONE_WARNING2,						/* 50 */
   TONE_ERROR1,							/* 51 */
   TONE_ERROR2,							/* 52 */
   TONE_GENERAL_BEEP,					/* 53 */
   TONE_BATTERY_LOW,					/* 54 */
   TONE_BATTERY_WARNING,				/* 55 */
   TONE_AUX_IND,						/* 56 */
   TONE_DATA_CALL,						/* 57 */

   MAX_TONE_ID = 80,

   MIN_EMS_SND_ID = 81,							/* 81 */
   EMS_CHIMES_HIGH = MIN_EMS_SND_ID,			/* 81 */
   EMS_CHIMES_LOW,								/* 82 */
   EMS_DING,									/* 83 */
   EMS_TADA,									/* 84 */
   EMS_NOTIFY,									/* 85 */
   EMS_DRUM,									/* 86 */
   EMS_CLAPS,									/* 87 */
   EMS_FANFAR,									/* 88 */
   EMS_CHORE_HGH,								/* 89 */
   EMS_CHORE_LOW,								/* 90 */
   MAX_EMS_SND_ID = EMS_CHORE_LOW				/* 90 */
   
}audio_id_enum;

#define MIDI_FILE_EXT   ".mid"
#define IMY_FILE_EXT    ".imy"
#define VM_FILE_EXT     ".vm"

/*
** Define the tone format: Keypad, DTMF, Call Tone.
*/
typedef struct {
   kal_uint16   freq1;            /* First frequency                                    */
   kal_uint16   freq2;            /* Second frequency                                   */
   kal_uint16   on_duration;      /* Tone on duation, in ms unit, 0 for continuous tone */
   kal_uint16   off_duration;     /* Tone off duation, in ms unit, 0 for end of playing */
   kal_int8     next_operation;   /* Index of the next tone                             */
} device_tones_struct;

typedef struct {
   const unsigned char *data;
   kal_uint32  len;
   kal_int32 format;
}
audio_resource_struct;

typedef struct {
	short start;
	short end;
}
start_end_t;
       
extern device_tones_struct** resource_tones;
extern audio_resource_struct* resource_midis;
extern audio_resource_struct* resource_sounds;
extern audio_resource_struct* resource_message_sounds;
extern audio_resource_struct* resource_imelodys;
extern audio_resource_struct* resource_ems_imelodys;
extern audio_resource_struct* resource_ems_sounds;
extern audio_resource_struct* resource_mms_sounds;
extern audio_resource_struct* resource_human_voice_tones;
extern audio_resource_struct* resource_tts_sounds;
extern start_end_t* TTS_UCS2_MSB_index;
extern unsigned char* TTS_UCS2_LSB;
extern unsigned short* TTS_index_table;
extern audio_resource_struct* resource_keypad_tones;

void custom_get_fixed_imelody_range(kal_uint8 *min_id, kal_uint8 *max_id);
void custom_get_fixed_sound_range(kal_uint8 *min_id, kal_uint8 *max_id);
void custom_get_fixed_midi_range(kal_uint8 *min_id, kal_uint8 *max_id);
void custom_get_fixed_message_sound_range(kal_uint8 *min_id, kal_uint8 *max_id);
void custom_get_fixed_ems_imelody_range(kal_uint8 *min_id, kal_uint8 *max_id);
void custom_get_fixed_mms_sound_range(kal_uint8 *min_id, kal_uint8 *max_id);

/*********************************************************
 *                                                       *
 *  Define which audio groups in custpack bin            *
 *                                                       *
 *  Notice: if a audio group is defined in custpack bin, *
 *          it must have at least one sound              *
 *                                                       *
 ********************************************************/
//#define IMY_IN_CUSTPACK_BIN
//#define EMS_IMY_IN_CUSTPACK_BIN
#define MIDI_IN_CUSTPACK_BIN
//#define SND_IN_CUSTPACK_BIN
//#define MSG_SND_IN_CUSTPACK_BIN
//#define EMS_SND_IN_CUSTPACK_BIN
//#define MMS_SND_IN_CUSTPACK_BIN
//#define HUMAN_VOICE_IN_CUSTPACK_BIN
//#define CUST_KEYPAD_TONE_IN_CUSTPACK_BIN

#define MIN_RING_TONE_ID	101
#define MAX_RING_TONE_ID	110
#define RING_TONE_1  101
#define RING_TONE_2  102
#define RING_TONE_3  103
#define RING_TONE_4  104
#define RING_TONE_5  105
#define RING_TONE_6  106
#define RING_TONE_7  107
#define RING_TONE_8  108
#define RING_TONE_9  109
#define RING_TONE_10  110
#define MIN_EMS_IMY_ID	141
#define MAX_EMS_IMY_ID	145
#define MIN_MIDI_ID	151
#define MAX_MIDI_ID	165
#define MIDI_1  151
#define MIDI_2  152
#define MIDI_3  153
#define MIDI_4  154
#define MIDI_5  155
#define MIDI_6  156
#define MIDI_7  157
#define MIDI_8  158
#define MIDI_9  159
#define MIDI_10  160
#define MIDI_11  161
#define MIDI_12  162
#define MIDI_13  163
#define MIDI_14  164
#define MIDI_15  165
#define MIN_SND_ID	201
#define MAX_SND_ID	210
#define SOUND_1  201
#define SOUND_2  202
#define SOUND_3  203
#define SOUND_4  204
#define SOUND_5  205
#define SOUND_6  206
#define SOUND_7  207
#define SOUND_8  208
#define SOUND_9  209
#define SOUND_10  210
#define MIN_MSG_SND_ID	221
#define MAX_MSG_SND_ID	230
#define MIN_MMS_SND_ID	241
#define MAX_MMS_SND_ID	250
#define MIN_HUMAN_VOICE_ID	1024
#define MAX_HUMAN_VOICE_ID	1036
#define MIN_TTS_SND_ID	2048
#define MAX_TTS_SND_ID	3276
#define MIN_KEYPAD_TONE_ID	4096
#define MAX_KEYPAD_TONE_ID	4096

#if defined( IMY_IN_CUSTPACK_BIN ) || defined( EMS_IMY_IN_CUSTPACK_BIN ) || defined( MIDI_IN_CUSTPACK_BIN ) || defined( SND_IN_CUSTPACK_BIN ) || defined( MSG_SND_IN_CUSTPACK_BIN ) || defined( EMS_SND_IN_CUSTPACK_BIN ) || defined( MMS_SND_IN_CUSTPACK_BIN ) || defined( HUMAN_VOICE_IN_CUSTPACK_BIN ) || defined( CUST_KEYPAD_TONE_IN_CUSTPACK_BIN )

typedef struct {
#ifdef MIDI_IN_CUSTPACK_BIN
	kal_uint32 midis_count;
	const audio_resource_struct mtk_resource_midis[MAX_MIDI_ID - MIN_MIDI_ID + 1];
#endif

#ifdef SND_IN_CUSTPACK_BIN
	kal_uint32 sounds_count;
	const audio_resource_struct mtk_resource_sounds[MAX_SND_ID - MIN_SND_ID + 1];
#endif

#ifdef EMS_SND_IN_CUSTPACK_BIN
	kal_uint32 ems_sounds_count;
	const audio_resource_struct mtk_resource_ems_sounds[MAX_EMS_SND_ID - MIN_EMS_SND_ID + 1];
#endif

#ifdef IMY_IN_CUSTPACK_BIN
	kal_uint32 imelodys_count;
	const audio_resource_struct mtk_resource_imelodys[MAX_RING_TONE_ID - MIN_RING_TONE_ID + 1];
#endif

#ifdef EMS_IMY_IN_CUSTPACK_BIN
	kal_uint32 ems_imelodys_count;
	const audio_resource_struct mtk_resource_ems_imelodys[MAX_EMS_IMY_ID - MIN_EMS_IMY_ID + 1];
#endif

#ifdef MSG_SND_IN_CUSTPACK_BIN
	kal_uint32 message_sounds_count;
	const audio_resource_struct mtk_resource_message_sounds[MAX_MSG_SND_ID - MIN_MSG_SND_ID + 1];
#endif

#ifdef MMS_SND_IN_CUSTPACK_BIN
	kal_uint32 mms_sounds_count;
	const audio_resource_struct mtk_resource_mms_sounds[MAX_MMS_SND_ID - MIN_MMS_SND_ID + 1];
#endif

#if defined( DIGIT_TONE_SUPPORT ) && defined( HUMAN_VOICE_IN_CUSTPACK_BIN )
	kal_uint32 human_voice_tones_count;
	const audio_resource_struct mtk_resource_human_voice_tones[MAX_HUMAN_VOICE_ID - MIN_HUMAN_VOICE_ID + 1];
#endif

#if defined( CUST_KEYPAD_TONE_SUPPORT ) && defined( CUST_KEYPAD_TONE_IN_CUSTPACK_BIN )
	kal_uint32 keypad_tones_count;
	const audio_resource_struct mtk_resource_keypad_tones[MAX_KEYPAD_TONE_ID - MIN_KEYPAD_TONE_ID + 1];
#endif
} custpack_audio_header;

#endif

#endif // _MMI_AUDIO_H

⌨️ 快捷键说明

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