📄 mp3playerwindow.cpp
字号:
#include "MP3PlayerApplicationPreComp.hpp"#include <Gui/ProgressBar.hpp>#include "MP3PlayerWindow.hpp"#include "MP3PlayerApplication.hpp"//#include <Config/Resources/spectrum_analyser.hpp> OLD#include <Config/Resources/spectrum_analyser_start.hpp>#include <Config/Resources/spectrum_analyser_end.hpp>#include <Config/Resources/spectrum_analyser_bar01.hpp>#include <Config/Resources/spectrum_analyser_bar02.hpp>#include <Config/Resources/spectrum_analyser_bar03.hpp>#include <Config/Resources/spectrum_analyser_bar04.hpp>#include <Config/Resources/spectrum_analyser_bar05.hpp>#include <Config/Resources/spectrum_analyser_bar06.hpp>#include <Config/Resources/spectrum_analyser_bar07.hpp>#include <Config/Resources/spectrum_analyser_bar08.hpp>#include <Config/Resources/spectrum_analyser_bar09.hpp>#include <Config/Resources/spectrum_analyser_bar10.hpp>#include <Config/Resources/spectrum_analyser_bar11.hpp>#include <Config/Resources/spectrum_analyser_bar12.hpp>#include <Config/Resources/spectrum_analyser_bar13.hpp>#include <Config/Resources/spectrum_analyser_bar14.hpp>#include <Config/Resources/spectrum_analyser_bar15.hpp>#include <Config/Resources/bit_3d.hpp>#include <Config/Resources/empty_bit.hpp>//#include <Config/Resources/pred_input_up_down_arrow.hpp>//#include <Config/Resources/fmstereo_icon_on.hpp>//#include <Config/Resources/fmstereo_icon_off.hpp>//#include <Common/CommonMsgTypes.hpp>//#include <Devices/Messages/AudioRadioDeviceNotificationMsg.hpp>#include <Atl/Features/FeatureBroker.hpp>//#include <Config/FontConfig.hpp>#include <Gui/MessageBox.hpp>#include <MainApp/Settings/MmiSettingsProvider.hpp>const BitmapRes * const MP3PlayerWindow::m_spectrum_analyser_bar[] = {&spectrum_analyser_bar01,&spectrum_analyser_bar01,&spectrum_analyser_bar01,&spectrum_analyser_bar02,&spectrum_analyser_bar02,&spectrum_analyser_bar02,&spectrum_analyser_bar03,&spectrum_analyser_bar03,&spectrum_analyser_bar03,&spectrum_analyser_bar04,&spectrum_analyser_bar04,&spectrum_analyser_bar04,&spectrum_analyser_bar05,&spectrum_analyser_bar05,&spectrum_analyser_bar05,&spectrum_analyser_bar06,&spectrum_analyser_bar06,&spectrum_analyser_bar06,&spectrum_analyser_bar07,&spectrum_analyser_bar07,&spectrum_analyser_bar07,&spectrum_analyser_bar08,&spectrum_analyser_bar08,&spectrum_analyser_bar08,&spectrum_analyser_bar09,&spectrum_analyser_bar09,&spectrum_analyser_bar09,&spectrum_analyser_bar10,&spectrum_analyser_bar10,&spectrum_analyser_bar10,&spectrum_analyser_bar11,&spectrum_analyser_bar11,&spectrum_analyser_bar11,&spectrum_analyser_bar12,&spectrum_analyser_bar12,&spectrum_analyser_bar12,&spectrum_analyser_bar13,&spectrum_analyser_bar13,&spectrum_analyser_bar13,&spectrum_analyser_bar14,&spectrum_analyser_bar14,&spectrum_analyser_bar14,&spectrum_analyser_bar15,&spectrum_analyser_bar15,&spectrum_analyser_bar15};const UINT8 MP3PlayerWindow::m_Mmi2DriverVolume[] = { 0x30, 0x1F, 0x1C, 0x19, 0x16, 0x13, 0x10, 0x0D, 0x0A, 0x07, 0x00};static BOOLEAN enable_3d=FALSE;static int equal_effect=0;/*const UINT8 MP3PlayerWindow::m_bar_level[SPECTRUM_ANALYSER_MAX_INDEX][15] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 6, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 8, 6, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 10, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 12, 10, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 14, 12, 10, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0 }, { 12, 14, 12, 10, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0, 0 }, { 10, 12, 14, 12, 10, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0 }, { 8, 10, 12, 14, 12, 10, 8, 6, 4, 2, 0, 0, 0, 0, 0 }, { 6, 8, 10, 12, 14, 12, 10, 8, 6, 4, 2, 0, 0, 0, 0 }, { 4, 6, 8, 10, 12, 14, 12, 10, 8, 6, 4, 2, 0, 0, 0 }, { 2, 4, 6, 8, 10, 12, 14, 12, 10, 8, 6, 4, 2, 0, 0 }, { 0, 2, 4, 6, 8, 10, 12, 14, 12, 10, 8, 6, 4, 2, 0 }, { 0, 0, 2, 4, 6, 8, 10, 12, 14, 12, 10, 8, 6, 4, 2 }, { 0, 0, 0, 2, 4, 6, 8, 10, 12, 14, 12, 10, 8, 6, 4 }, { 0, 0, 0, 0, 2, 4, 6, 8, 10, 12, 14, 12, 10, 8, 6 }, { 0, 0, 0, 0, 0, 2, 4, 6, 8, 10, 12, 14, 12, 10, 8 }, { 0, 0, 0, 0, 0, 0, 2, 4, 6, 8, 10, 12, 14, 12, 10 }, { 0, 0, 0, 0, 0, 0, 0, 2, 4, 6, 8, 10, 12, 14, 12 }, { 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 6, 8, 10, 12, 14 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 6, 8, 10, 12 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 6, 8, 10 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 6, 8 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 , 4, 6 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 6, 8 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 6, 8, 10 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 6, 8, 10, 12 }, { 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 6, 8, 10, 12, 14 }, { 0, 0, 0, 0, 0, 0, 0, 2, 4, 6, 8, 10, 12, 14, 12 }, { 0, 0, 0, 0, 0, 0, 2, 4, 6, 8, 10, 12, 14, 12, 10 }, { 0, 0, 0, 0, 0, 2, 4, 6, 8, 10, 12, 14, 12, 10, 8 }, { 0, 0, 0, 0, 2, 4, 6, 8, 10, 12, 14, 12, 10, 8, 6 }, { 0, 0, 0, 2, 4, 6, 8, 10, 12, 14, 12, 10, 8, 6, 4 }, { 0, 0, 2, 4, 6, 8, 10, 12, 14, 12, 10, 8, 6, 4, 2 }, { 0, 2, 4, 6, 8, 10, 12, 14, 12, 10, 8, 6, 4, 2, 0 }, { 2, 4, 6, 8, 10, 12, 14, 12, 10, 8, 6, 4, 2, 0, 0 }, { 4, 6, 8, 10, 12, 14, 12, 10, 8, 6, 4, 2, 0, 0, 0 }, { 6, 8, 10, 12, 14, 12, 10, 8, 6, 4, 2, 0, 0, 0, 0 }, { 8, 10, 12, 14, 12, 10, 8, 6, 4, 2, 0, 0, 0, 0, 0 }, { 10, 12, 14, 12, 10, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0 }, { 12, 14, 12, 10, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0, 0 }, { 14, 12, 10, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0 }, { 12, 10, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 10, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 8, 6, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 6, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },};*/BOOLEAN MP3PlayerWindow::m_interpolate = 1;/*-------------------------------------------------------------MP3PlayerWindow-------------------------------------------------------------*/MP3PlayerWindow::MP3PlayerWindow(){}/*-------------------------------------------------------------~MP3PlayerWindow-------------------------------------------------------------*/MP3PlayerWindow::~MP3PlayerWindow(){}/*-------------------------------------------------------------HandleRadioAudioNotification-------------------------------------------------------------*//*void MP3PlayerWindow::HandleRadioAudioNotification(){ if(IsOpen()) UpdateRadioDisplay();}*//*-------------------------------------------------------------UpdatePlaybackTimeAndProgressBar-------------------------------------------------------------*/void MP3PlayerWindow::UpdatePlaybackTimeAndProgressBar(){ /*----------------------\ |Format frequency string \----------------------*/ //WStrPrintf(m_freq_str, L"%d.%02d MHz",int(m_radio_info.m_frequency/1000), int(((m_radio_info.m_frequency%1000)/10))); //m_frequency.SetText( Tr(m_freq_str) ); m_duration_bar.SetProgress(m_current_mp3_time * 100 / m_current_mp3_max_time); WString text; text.Format(L"%02d:%02d/%02d:%02d", m_current_mp3_time_mins, m_current_mp3_time_secs, m_current_mp3_max_time_mins, m_current_mp3_max_time_secs); m_duration_text.SetText(text); Invalidate();}/*-------------------------------------------------------------UpdateSpectrumAnalyser-------------------------------------------------------------*/void MP3PlayerWindow::UpdateSpectrumAnalyser(){ mvaAudio_SaMp3_GetSpectrum(m_Spectrum); if (m_Spectrum[0] >= 45) m_Spectrum[0] = 0; if (m_Spectrum[1] >= 45) m_Spectrum[1] = 0; if (m_Spectrum[2] >= 45) m_Spectrum[2] = 0; if (m_Spectrum[3] >= 45) m_Spectrum[3] = 0; if (m_Spectrum[4] >= 45) m_Spectrum[4] = 0; if (m_interpolate) { // first bar UINT32 first_gap = m_Spectrum[0]/3; m_mp3player_image_bar01.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[0]-first_gap]); // second bar m_mp3player_image_bar02.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[0]]); // third and fourth bars INT32 second_gap = ((INT32)m_Spectrum[1] - (INT32)m_Spectrum[0])/3; m_mp3player_image_bar03.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[0]+second_gap]); m_mp3player_image_bar04.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[1]-second_gap]); // fifth bar m_mp3player_image_bar05.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[1]]); // sixth and seventh bars INT32 third_gap = ((INT32)m_Spectrum[2] - (INT32)m_Spectrum[1])/3; m_mp3player_image_bar06.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[1]+third_gap]); m_mp3player_image_bar07.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[2]-third_gap]); // eighth bar m_mp3player_image_bar08.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[2]]); // ninth and tenth bars INT32 fourth_gap = ((INT32)m_Spectrum[3] - (INT32)m_Spectrum[2])/3; m_mp3player_image_bar09.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[2]+fourth_gap]); m_mp3player_image_bar10.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[3]-fourth_gap]); // eleventh bar m_mp3player_image_bar11.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[3]]); // twelfth and thirteenth bars INT32 fifth_gap = ((INT32)m_Spectrum[4] - (INT32)m_Spectrum[3])/3; m_mp3player_image_bar12.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[3]+fifth_gap]); m_mp3player_image_bar13.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[4]-fifth_gap]); // fourteenth bar m_mp3player_image_bar14.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[4]]); // fifteenth bar UINT32 sixth_gap = m_Spectrum[4]/3; m_mp3player_image_bar15.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[4]-sixth_gap]); } else { //m_mp3player_image.SetBitmap(&spectrum_analyser); OLD m_mp3player_image_bar01.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[0]]); m_mp3player_image_bar02.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[0]]); m_mp3player_image_bar03.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[0]]); m_mp3player_image_bar04.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[1]]); m_mp3player_image_bar05.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[1]]); m_mp3player_image_bar06.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[1]]); m_mp3player_image_bar07.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[2]]); m_mp3player_image_bar08.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[2]]); m_mp3player_image_bar09.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[2]]); m_mp3player_image_bar10.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[3]]); m_mp3player_image_bar11.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[3]]); m_mp3player_image_bar12.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[3]]); m_mp3player_image_bar13.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[4]]); m_mp3player_image_bar14.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[4]]); m_mp3player_image_bar15.SetBitmap(m_spectrum_analyser_bar[m_Spectrum[4]]); } Invalidate();}/*-------------------------------------------------------------Init-------------------------------------------------------------*/void MP3PlayerWindow::Init(){ Base::Init(); SetContextId(ContextID("MP3Player.MainWinPlay")); TextFormat text_format(System::GetFont(Font::Menu)); //TextFormat text_format_time(System::GetFont(Font::Menu)); text_format.SetTextAlign(TextFormat::Centered); //text_format_time.SetTextAlign(TextFormat::Centered); // Initialise the variables concerning the MP3 player volume m_volume = 70; m_volume_bar.Init(this, 100/VOLUME_STEPS); text_format.SetTextAttr(TextFormat::Bold); m_volume_text.Init(this, L"Normal", text_format); m_volume_text.SetVerticalCentered(TRUE); m_3d_box.Init(this, &empty_bit, -1, -1); // Initialise the variables concerning the MP3 player playback time m_current_mp3_time = 0; m_current_mp3_time_mins = 0; m_current_mp3_time_secs = 0; m_current_mp3_max_time = 0; m_current_mp3_max_time_mins = 0; m_current_mp3_max_time_secs = 0; m_duration_bar.Init(this, 100/DURATION_STEPS); text_format.SetTextAttr(TextFormat::Normal); m_duration_text.Init(this, L"00:00/00:00", text_format); m_duration_text.SetVerticalCentered(TRUE); //m_mp3player_image.Init(this, NULL, -1, -1); OLD
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -