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

📄 jma_audio_recorder.c

📁 java 1.1 gemini 08_16
💻 C
📖 第 1 页 / 共 3 页
字号:
/*****************************************************************************
*  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) 2001
*
*****************************************************************************/

/*****************************************************************************
 *
 * Filename:
 * ---------
 *   jma_audio_recorder.c
 *
 * Project:
 * --------
 *   Maui_Software
 *
 * Description:
 * ------------
 *   This file defines native JMA audio recorder APIs
 *
 * Author:
 * -------
 * -------
 * -------
 *
 *============================================================================
 *             HISTORY
 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *------------------------------------------------------------------------------
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
*
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 *------------------------------------------------------------------------------
 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *============================================================================
 ****************************************************************************/
/**
 * @(#)jma_audio_recorder.c   1.00 05/11/30
 *
 * Copyright (c) 2003 Institute for Information Industry.  All rights reserved.
 */

/*************************************************************************
 * Include Header Files
 *************************************************************************/
#include "MMI_features.h"

#include "jma_interface.h"
#include "jam_internal.h"
#include "jma_internal.h"
#include "app_buff_alloc.h"
#include "j2me_trace.h"

#include "kni.h"
#include "defaultLCDUI.h"
#include "resource_audio.h"

/* global includes */
#include "device.h"
#include "nvram_enums.h"
#include "nvram_struct.h"
#include "nvram_user_defs.h"
#include "nvram_data_items.h"
#include "custom_nvram_editor_data_item.h"

/* local includes */
#include "med_global.h"
#include "aud_defs.h"
#include "med_struct.h"
#include "med_api.h"
#include "med_context.h"
#include "aud_main.h"

/* MMI includes */
#include "GlobalDefs.h" /* Golbal Image and String ID. */
#include "SettingDefs.h"        /* popup sound */
#include "SettingProfile.h"     /* warning tone */
#include "wgui_categories_popup.h"
#include "Ucs2prot.h"

/* for jdi */
#include "mdi_datatype.h"
#include "mdi_audio.h"

#include "j2me_custom_option.h"

#include "FileManagerGProt.h"

/*************************************************************************
 * Global Definition and Declaration
 *************************************************************************/
#ifdef SUPPORT_MMAPI
/* Amr Recorder */
stack_timer_struct java_media_timer;
audio_recorder_struct audio_recorder;

#ifdef __MTK_TARGET__
extern kal_uint32 Media_GetRecordedTime(void);
#endif

/*****************************************************************************
 * FUNCTION
 *  jma_audio_recorder_timer_expired
 * DESCRIPTION
 *  This function handles if audio recorder timer is expired
 * PARAMETERS
 *  mma_type            [IN]        
 *  java_recorder       [IN]        
 *  int reocrder(?)
 * RETURNS
 *  void
 *****************************************************************************/
void jma_audio_recorder_timer_expired(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    kal_trace(TRACE_GROUP_4, FUNC_J2ME_JMA_AUDIO_RECORDER_TIMER_EXPIRED, audio_recorder.id);
    JMA_CS_ENTER(JMA_VOID);
    /* Stop to record immediately */
    jma_audio_recorder_commit(audio_recorder.id);
    jvm_post_mma_event(MMA_EVENT_RECORD_STOPPED, 
            (kal_int16) audio_recorder.id, audio_recorder.current_time);
    JMA_CS_LEAVE(JMA_VOID);
}


/*****************************************************************************
 * FUNCTION
 *  jma_audio_file_record_finish_ind_handler
 * DESCRIPTION
 *  This function handles audio files eom.
 * PARAMETERS
 *  mma_type        [IN]        
 *  ilm_ptr         [?]         
 * RETURNS
 *  kal_bool result
 *****************************************************************************/
void jma_audio_recorder_record_result_hdlr(mdi_result result)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    
    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    kal_trace(TRACE_GROUP_4, FUNC_J2ME_JMA_AUDIO_RECORDER_RECORD_RESULT_HDLR, audio_recorder.state, result);

    /* when stop record, a callback with MDI_AUDIO_TEMINATED will be called */
    JMA_CS_ENTER(JMA_VOID);
    if (result == MDI_AUDIO_DISC_FULL)
    {
    #ifdef __MTK_TARGET__
        audio_recorder.current_time = (long)Media_GetRecordedTime();
        kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_D, audio_recorder.current_time);
    #endif

        /* Restore audio recorder's state */
        kal_trace(TRACE_GROUP_4, J2ME_MMA_STATE_TRANSITION, audio_recorder.state, JAVA_MEDIA_STATE_READY);
        audio_recorder.state = JAVA_MEDIA_STATE_READY;
        
        jvm_post_mma_event(MMA_EVENT_RECORD_STOPPED, (kal_int16) audio_recorder.id,
            (kal_int64) audio_recorder.current_time);
    }
    JMA_CS_LEAVE(JMA_VOID);
}


/*****************************************************************************
 * FUNCTION
 *  jma_wav_recorder_suspend_hdlr
 * DESCRIPTION
 *  This function handles wav recorder suspend
 * PARAMETERS
 *  hdlr        [IN]        
 * RETURNS

⌨️ 快捷键说明

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