📄 mp3playerwindow.cpp
字号:
static KeyCode KeyPressed = 0; BOOLEAN dispatched = TRUE; DataItem item; switch(msg.Id()) { case KeyDownMsg::ID: { KeyDownMsg* key_down_msg; CastMsg(key_down_msg, &msg); KeyPressed = key_down_msg->GetKeyCode(); switch(KeyPressed) { case c_key_down: case c_key_vol_down: /* ONLY IF CLAMSHELL CLOSED */ { m_volume-= (100/VOLUME_STEPS); if(m_volume < 0) m_volume = 0; //mvaclass_call : DECREASE THE VOLUME (m_volume) mvaClass_AudioSetVolume_SA(m_Mmi2DriverVolume[m_volume/VOLUME_STEPS]); m_volume_bar.SetProgress(m_volume); //KeyPressed = 0; } return TRUE; case c_key_up: case c_key_vol_up: /* ONLY IF CLAMSHELL CLOSED */ { m_volume+= (100/VOLUME_STEPS); if( m_volume > 100) m_volume = 100; //mvaclass_call : INCREASE THE VOLUME (m_volume) mvaClass_AudioSetVolume_SA(m_Mmi2DriverVolume[m_volume/VOLUME_STEPS]); m_volume_bar.SetProgress(m_volume); //KeyPressed = 0; } return TRUE; case c_key_right: case c_key_3: /* ONLY IF CLAMSHELL CLOSED */ m_playback_timer.Stop(); m_spectrum_analyser_timer.Stop(); m_index_of_song++; if (m_index_of_song > m_mp3player_app->GetMP3PlayerSongsProv()->RowCount() - 1) m_index_of_song = 0; if (GetContextId() == ContextID("MP3Player.MainWinPause")) { SetContextId(ContextID("MP3Player.MainWinPlay")); //mvaclass_call : RESUME THE CURRENT SONG mvaClass_AudioResume_SA(); } //mvaclass_call : START THE NEXT SONG mvaClass_AudioNextSong_SA(); // Get title from provider m_mp3player_app->GetMP3PlayerSongsProv()->GetDataItem(c_mp3player_songtitle, m_index_of_song, item); SetTitle(item.GetWString()); // Get length from provider m_mp3player_app->GetMP3PlayerSongsProv()->GetDataItem(c_mp3player_songlength, m_index_of_song, item); m_current_mp3_max_time = (UINT16)(item.GetNumber()); m_current_mp3_max_time_mins = m_current_mp3_max_time / 60; m_current_mp3_max_time_secs = m_current_mp3_max_time - (m_current_mp3_max_time_mins * 60); m_current_mp3_time = 0; m_current_mp3_time_mins = 0; m_current_mp3_time_secs = 0; m_playback_timer.Start(); m_spectrum_analyser_timer.Start(); UpdatePlaybackTimeAndProgressBar(); UpdateSpectrumAnalyser(); //KeyPressed = 0; return TRUE; case c_key_left: case c_key_1: /* ONLY IF CLAMSHELL CLOSED */ m_playback_timer.Stop(); m_spectrum_analyser_timer.Stop(); m_index_of_song--; if (m_index_of_song < 0) m_index_of_song = m_mp3player_app->GetMP3PlayerSongsProv()->RowCount() - 1; if (GetContextId() == ContextID("MP3Player.MainWinPause")) { SetContextId(ContextID("MP3Player.MainWinPlay")); //mvaclass_call : RESUME THE CURRENT SONG mvaClass_AudioResume_SA(); } //mvaclass_call : START THE PREVIOUS SONG mvaClass_AudioPrevSong_SA(); // Get title from provider m_mp3player_app->GetMP3PlayerSongsProv()->GetDataItem(c_mp3player_songtitle, m_index_of_song, item); SetTitle(item.GetWString()); // Get length from provider m_mp3player_app->GetMP3PlayerSongsProv()->GetDataItem(c_mp3player_songlength, m_index_of_song, item); m_current_mp3_max_time = (UINT16)(item.GetNumber()); m_current_mp3_max_time_mins = m_current_mp3_max_time / 60; m_current_mp3_max_time_secs = m_current_mp3_max_time - (m_current_mp3_max_time_mins * 60); m_current_mp3_time = 0; m_current_mp3_time_mins = 0; m_current_mp3_time_secs = 0; m_playback_timer.Start(); m_spectrum_analyser_timer.Start(); UpdatePlaybackTimeAndProgressBar(); UpdateSpectrumAnalyser(); //KeyPressed = 0; return TRUE; case c_key_2: /* ONLY IF CLAMSHELL CLOSED */ if (GetContextId() == ContextID("MP3Player.MainWinPlay")) FeatureBroker::GetInstance()->GetFeature("MP3Player", "SkPause")->Execute(); else if (GetContextId() == ContextID("MP3Player.MainWinPause")) FeatureBroker::GetInstance()->GetFeature("MP3Player", "SkPlay")->Execute(); return TRUE; case c_key_5: if (enable_3d) { mvaClass_AudioSetEffect_SA(MVA_DSP_MP3_EFFECT_DISABLE); enable_3d=FALSE; m_3d_box.SetBitmap(&empty_bit); } else { mvaClass_AudioSetEffect_SA(MVA_DSP_MP3_EFFECT_SURROOUND); enable_3d=TRUE; m_3d_box.SetBitmap(&bit_3d); } Invalidate(); return TRUE; case c_key_6: switch(equal_effect) { case 0: equal_effect++; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_TECHNO); m_volume_text.SetText(L"Techno"); break; case 1: equal_effect++; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_ROCK); m_volume_text.SetText(L"Rock"); break; case 2: equal_effect++; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_OPTIMAL); m_volume_text.SetText(L"Optimal"); break; case 3: equal_effect++; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_METAL); m_volume_text.SetText(L"Metal"); break; case 4: equal_effect++; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_POP); m_volume_text.SetText(L"Pop"); break; case 5: equal_effect++; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_JAZZ); m_volume_text.SetText(L"Jazz"); break; case 6: equal_effect++; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_SPEECH); m_volume_text.SetText(L"Speech"); break; case 7: equal_effect++; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_LAST); m_volume_text.SetText(L"Last"); break; case 8: equal_effect=0; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_FLAT); m_volume_text.SetText(L"Normal"); break; default: break; } Invalidate(); return TRUE; case c_key_4: switch(equal_effect) { case 0: equal_effect=8; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_LAST); m_volume_text.SetText(L"Last"); break; case 1: equal_effect--; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_FLAT); m_volume_text.SetText(L"Normal"); break; case 2: equal_effect--; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_TECHNO); m_volume_text.SetText(L"Techno"); break; case 3: equal_effect--; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_ROCK); m_volume_text.SetText(L"Rock"); break; case 4: equal_effect--; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_OPTIMAL); m_volume_text.SetText(L"Optimal"); break; case 5: equal_effect--; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_METAL); m_volume_text.SetText(L"Metal"); break; case 6: equal_effect--; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_POP); m_volume_text.SetText(L"Pop"); break; case 7: equal_effect--; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_JAZZ); m_volume_text.SetText(L"Jazz"); break; case 8: equal_effect--; mvaClass_AudioSetEq_SA(MVA_DSP_MP3_EQ_SPEECH); m_volume_text.SetText(L"Speech"); break; default: break; } Invalidate(); return TRUE; default: break; } } break; /*case KeyUpMsg::ID: { KeyUpMsg* key_up_msg; CastMsg(key_up_msg, &msg); KeyCode key_code = key_up_msg->GetKeyCode(); if(KeyPressed == key_code) MP3PlayerWindow::SetFrequency(key_code); } break;*/ /*case LongKeyPressMsg::ID: { LongKeyPressMsg *long_press_msg; CastMsg(long_press_msg, &msg); KeyCode key_code = long_press_msg->GetKeyCode(); if((key_code>=c_key_1) && (key_code<=c_key_9)) SaveFrequency(key_code); else if(key_code==c_key_up) m_fmradio_app->GetRadioDevice()->SeekStation(RadioAudioDevice::SeekDirectionUp, RadioAudioDevice::SeekModeAuto); else if(key_code==c_key_down) m_fmradio_app->GetRadioDevice()->SeekStation(RadioAudioDevice::SeekDirectionDown, RadioAudioDevice::SeekModeAuto); KeyPressed = 0; } break;*/ default: break; } dispatched = Base::OnMessage(msg); return dispatched;}/* ------------------------------------------------------------------------ OnTimeout ------------------------------------------------------------------------ */BOOLEAN MP3PlayerWindow::OnTimeout(const Timer &timer){ if (&timer == &m_playback_timer) { //mvaclass_call : DO TIME CALCULATION ONLY IF THE SONG IS STILL PLAYING if (mvaClass_AudioIsPlaying_SA()) { //m_current_mp3_time++; UINT32 curLength; UINT32 bitrate; //mvaclass_call : GET THE BITRATE AND THE CURRENT BITSTREAM CONSUMED mvaClass_AudioGetBitrate_SA(&bitrate); // from the playing file mvaClass_AudioGetCurLength_SA(&curLength); // from the playing file m_current_mp3_time = curLength * 8 / (bitrate * 1000L); m_current_mp3_time_mins = m_current_mp3_time / 60; m_current_mp3_time_secs = m_current_mp3_time - (m_current_mp3_time_mins * 60); } else { DataItem item; m_playback_timer.Stop(); m_spectrum_analyser_timer.Stop(); m_index_of_song++; if (m_index_of_song > m_mp3player_app->GetMP3PlayerSongsProv()->RowCount() - 1) m_index_of_song = 0; //mvaclass_call : START THE NEXT SONG mvaClass_AudioPlay_SA(m_index_of_song); // Get title from provider m_mp3player_app->GetMP3PlayerSongsProv()->GetDataItem(c_mp3player_songtitle, m_index_of_song, item); SetTitle(item.GetWString()); // Get length from provider m_mp3player_app->GetMP3PlayerSongsProv()->GetDataItem(c_mp3player_songlength, m_index_of_song, item); m_current_mp3_max_time = (UINT16)(item.GetNumber()); m_current_mp3_max_time_mins = m_current_mp3_max_time / 60; m_current_mp3_max_time_secs = m_current_mp3_max_time - (m_current_mp3_max_time_mins * 60); m_current_mp3_time = 0; m_current_mp3_time_mins = 0; m_current_mp3_time_secs = 0; m_playback_timer.Start(); m_spectrum_analyser_timer.Start(); UpdateSpectrumAnalyser(); } UpdatePlaybackTimeAndProgressBar(); } else if (&timer == &m_spectrum_analyser_timer) { //m_spectrum_analyser_index++; //if (m_spectrum_analyser_index >= SPECTRUM_ANALYSER_MAX_INDEX) // m_spectrum_analyser_index = 0; UpdateSpectrumAnalyser(); } return FALSE;} // OnTimeout
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -