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

📄 fmradiosrc.c

📁 mtk平台的调频收音机的mmi部分,新的代码更新! 可以了解mtk调频收音机的用户界面!
💻 C
📖 第 1 页 / 共 5 页
字号:
    {
        AnsiiToUnicodeString((PS8) name, (PS8) g_fmrdo.channel_list.name[item_index]);
    }

    kal_wsprintf(str_buff, " FM %d.%d ", freq / 10, freq % 10);
    pfnUnicodeStrcat((S8*) str_buff, (S8*) seperator);
    pfnUnicodeStrcat((S8*) str_buff, (S8*) name);
    *img_buff_p = (PU8) GetImage((U16) (IMG_GLOBAL_L1));
    return TRUE;
}


/*****************************************************************************
 * FUNCTION
 *  mmi_fmrdo_entry_channel_option
 * DESCRIPTION
 *  Entry Option Screen for Channel
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_fmrdo_entry_channel_option(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mmi_fmrdo_menu_entry_screen(
        SCR_ID_FMRDO_CHANNEL_OPTION,
        FMRDO_MENU_CHANNEL_OPTIONS_MENUID,
        STR_GLOBAL_OPTIONS,
        mmi_fmrdo_entry_channel_option);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_fmrdo_highlight_channel_play
 * DESCRIPTION
 *  Highlight Handler for Channel Play Option
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_fmrdo_highlight_channel_play(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mmi_fmrdo_common_LSK_RSK_hdlr(
        STR_GLOBAL_OK,
        IMG_GLOBAL_OK,
        STR_GLOBAL_BACK,
        IMG_GLOBAL_BACK,
        mmi_fmrdo_channel_play_and_stop,
        GoBackHistory);

}


/*****************************************************************************
 * FUNCTION
 *  mmi_fmrdo_channel_play_and_stop
 * DESCRIPTION
 *  Shows the FM Radio Play Scrren when user comes from Channel OPtion
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_fmrdo_channel_play_and_stop(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

	S16 error = 0;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_fmrdo.channel_index=highlighted_item;

    g_fmrdo.frequency = g_fmrdo.channel_list.freq[g_fmrdo.channel_index];

    if ((g_fmrdo.frequency < MIN_FM_FREQUENCY) || (g_fmrdo.frequency > MAX_FM_FREQUENCY))
    {
        DisplayPopup((PU8) GetString(STR_ID_FMRDO_VALID_FM_BANDWIDTH), IMG_GLOBAL_WARNING, 1, 2000, (U8) WARNING_TONE);
        return;
    }
	/*pmt00083, 27/10/2006,MAUI_00017501 Start*/
    WriteValue(NVRAM_FMRDO_LAST_PLAYED_CHANNEL, &g_fmrdo.channel_index, DS_BYTE, &error);
	/*pmt00083, 27/10/2006,MAUI_00017501 End*/

    g_fmrdo.is_direct_channel_play = TRUE;
    mmi_fmrdo_common_play_entry(
        SCR_ID_FMRDO_CHANNEL_PLAY_STOP,
        STR_ID_FMRDO_STOP,
        STR_GLOBAL_BACK,
        g_fmrdo.frequency,
        mmi_fmrdo_channel_play_and_stop,
        mmi_fmrdo_channel_play_and_stop_exit,
        mmi_fmrdo_channel_stop,
        mmi_fmrdo_channel_play_and_stop_RSK,
        UI_dummy_function /*mmi_fmrdo_release_number_key*/,
		/*pmt00083, 090606,MAUI00015677 Start*/
        KEY_LONG_PRESS/*KEY_EVENT_UP*/); 
		/*pmt00083, 090606,MAUI00015677 End*/
    
    //PMT START MAUI_00026504
    DeleteScreenIfPresent(SCR_ID_FMRDO_CHANNEL_LIST);
    DeleteScreenIfPresent(SCR_ID_FMRDO_CHANNEL_OPTION);
    //PMT END MAUI_00026504
}


/*****************************************************************************
 * FUNCTION
 *  mmi_fmrdo_channel_play_and_stop_exit
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_fmrdo_channel_play_and_stop_exit(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_fmrdo.is_playing_screen = FALSE;
}


/*****************************************************************************
 * FUNCTION
 *  mmi_fmrdo_channel_stop
 * DESCRIPTION
 *  Stop Playing FM and come out of FM Radio Main Menu
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_fmrdo_channel_stop(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_fmrdo.is_playing_screen = FALSE;
    mmi_fmrdo_power_on(FALSE);
    mmi_fmrdo_goback2_main_menu();

}


/*****************************************************************************
 * FUNCTION
 *  mmi_fmrdo_channel_play_and_stop_RSK
 * DESCRIPTION
 *  COme Out of FM Menu but FM Doesnt stop Playing
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_fmrdo_channel_play_and_stop_RSK(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_fmrdo.is_power_on = TRUE;
    g_fmrdo.is_playing_screen = FALSE;
    //PMT START MAUI_00026504
    mmi_fmrdo_channel_list();
    //PMT END MAUI_00026504

}


/*****************************************************************************
 * FUNCTION
 *  mmi_fmrdo_release_number_key
 * DESCRIPTION
 *  Play the Channel from Play Screen directly
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/

void mmi_fmrdo_release_number_key(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U16 keycode, keytype, freq = 0;
	//PMT START MAUI_00026497
    S16 error;
    //PMT END MAUI_00026497

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    GetkeyInfo(&keycode, &keytype);
    if (keycode == 0)
    {
        return;
    }
    if(keycode == 2)
    {
	g_fmrdo.channel_index--;
	if(g_fmrdo.channel_index == 0xFF)
	{
		g_fmrdo.channel_index = NUM_OF_CHANNELS-1;
	}
	    //PMT START MAUI_00026497
        WriteValue(NVRAM_FMRDO_LAST_PLAYED_CHANNEL, &g_fmrdo.channel_index, DS_BYTE, &error);
	    //PMT END MAUI_00026497
    }else if (keycode == 8)
    {
	g_fmrdo.channel_index++;
	if(g_fmrdo.channel_index == NUM_OF_CHANNELS)
	{
		g_fmrdo.channel_index = 0;
	}
	    //PMT START MAUI_00026497
        WriteValue(NVRAM_FMRDO_LAST_PLAYED_CHANNEL, &g_fmrdo.channel_index, DS_BYTE, &error);
	    //PMT END MAUI_00026497
    }
    /* g_fmrdo.channel_index = keycode - KEY_1; */
    g_fmrdo.frequency = g_fmrdo.channel_list.freq[g_fmrdo.channel_index];
    mdi_fmr_set_freq(g_fmrdo.frequency);
    g_fmrdo.is_direct_channel_play = TRUE;
    show_update_freq(g_fmrdo.frequency);

}

#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif /* 0 */ 


/*****************************************************************************
 * FUNCTION
 *  mmi_fmrdo_highlight_channel_rename
 * DESCRIPTION
 *  Highlight Handler for Channel Rename
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_fmrdo_highlight_channel_rename(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mmi_fmrdo_common_LSK_RSK_hdlr(
        STR_GLOBAL_OK,
        IMG_GLOBAL_OK,
        STR_GLOBAL_BACK,
        IMG_GLOBAL_BACK,
        mmi_fmrdo_channel_rename,
        GoBackHistory);

}


/*****************************************************************************
 * FUNCTION
 *  mmi_fmrdo_channel_rename
 * DESCRIPTION
 *  Shows the FM Radio Channel Name Editor Screen
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_fmrdo_channel_rename(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 *guiBuffer;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    EntryNewScreen(SCR_ID_FMRDO_CHANNEL_NAME_RENAME, NULL, mmi_fmrdo_channel_rename, NULL);
    guiBuffer = GetCurrGuiBuffer(SCR_ID_FMRDO_CHANNEL_NAME_RENAME);
    if (guiBuffer == NULL)
    {
        GetNameBuffer((PU8) channel_name_buff, (U16) highlighted_item);
    }

    ShowCategory5Screen(
        STR_ID_FMRDO_RENAME,
        0 /* IMG_ID_FMRDO_RENAME */ ,
        STR_GLOBAL_OK,
        IMG_GLOBAL_OK,
        STR_GLOBAL_BACK,
        IMG_GLOBAL_BACK,
        INPUT_TYPE_ALPHANUMERIC_SENTENCECASE | INPUT_TYPE_USE_ENCODING_BASED_LENGTH | INPUT_TYPE_ONE_LESS_CHARACTER | INPUT_TYPE_GSM_EXTENDED_HANDLING,
        (PU8) channel_name_buff,
        MAX_NAME_INPUT_LEN + 1,
        guiBuffer);

    SetLeftSoftkeyFunction(mmi_fmrdo_channel_rename_LSK, KEY_EVENT_UP);
    SetCategory5RightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);

}


/*****************************************************************************
 * FUNCTION
 *  GetNameBuffer
 * DESCRIPTION
 *  
 * PARAMETERS
 *  buffer      [?]             
 *  index       [IN]            
 *  a(?)        [IN/OUT]        Buffer
 *  b(?)        [IN]            Index
 * RETURNS
 *  void

⌨️ 快捷键说明

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