本文整理汇总了C++中MediaPlayer::GetMediaLength方法的典型用法代码示例。如果您正苦于以下问题:C++ MediaPlayer::GetMediaLength方法的具体用法?C++ MediaPlayer::GetMediaLength怎么用?C++ MediaPlayer::GetMediaLength使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MediaPlayer
的用法示例。
在下文中一共展示了MediaPlayer::GetMediaLength方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateSliders
void TrayToolTipDlg::UpdateSliders()
{
MediaPlayer* pMP = PRGAPI()->GetMediaPlayer();
INT volume = pMP->GetVolume();
INT pos = (INT)(pMP->GetMediaPos() * 1000);
m_volumeSlider.SetPos(volume);
m_positionSlider.SetPos(pos);
m_positionSlider.SetMaxPos((INT)(pMP->GetMediaLength()*1000));
}
示例2: OnStateChanged
BOOL CTeenSpiritDlg::OnStateChanged(UINT stateMessage)
{
if (stateMessage == SM_MediaChanged)
{
MediaPlayListItem mpli;
PrgAPI* pAPI = PRGAPI();
MediaPlayer* pMP = pAPI->GetMediaPlayer();
INT nPos = pMP->GetPlayListPos();
if (nPos != -1 && pMP->GetPlayListItem(mpli, nPos))
{
if (mpli.artist == NULL) mpli.artist = _T("");
if (mpli.title == NULL) mpli.title = mpli.url;
//=== Show Tray ToolTip
//pAPI->GetTrayToolTipDlg()->OnMediaChanged(pAPI->GetOption(OPT_GEN_ShowToolTipOnMediaChanged));
//==== NOTIFIERS
TrackerTrack track;
track.artist = mpli.artist;
track.title = mpli.title;
track.rating = mpli.rating;
track.length = (UINT)pMP->GetMediaLength();
pAPI->GetTracker()->SubmitTrack(ITracker::ACT_Started, track, GetCurrentUnixTimeStamp());
}
return TRUE;
}
// case SM_MediaChanged:
// {
// MediaPlayer* pPlayer = pAPI->GetMediaPlayer();
// INT curMediaIdx = pPlayer->GetPlayListPos();
// if (curMediaIdx >= 0)
// {
// MediaPlayListItem mpli;
// if (pPlayer->GetPlayListItem(mpli, curMediaIdx))
// {
// //==== NOTIFIERS
// if (mpli.artist == NULL) mpli.artist = _T("");
// if (mpli.title == NULL) mpli.title = mpli.url;
// TrackerTrack track;
// track.artist = mpli.artist;
// track.title = mpli.title;
// track.rating = mpli.rating;
// track.length = (UINT)pPlayer->GetMediaLength();
// pAPI->GetTracker()->SubmitTrack(ITracker::ACT_Started, track, GetCurrentUnixTimeStamp());
// //==== Info Control
// if (pAPI->GetOption(OPT_VIEWER_Auto))// m_ViewerPane.GetAutoViewerMode())
// {
// TrackTypesEnum tt = GetTrackType(mpli.url);
// if (tt < TTYPE_FIRSTVIDEO)
// {
// m_ViewerPane.SetMode(CViewerPane::MOD_NormalInfo);
// }
// else if (tt < TTYPE_FIRSTVIRTUAL)
// {
// m_ViewerPane.SetMode(CViewerPane::MOD_Visualizations);
// }
// else
// {
// m_ViewerPane.SetMode(CViewerPane::MOD_Browser);
// }
// }
// if (m_ViewerPane.GetMode() == CViewerPane::MOD_NormalInfo && pAPI->GetOption(OPT_VIEWER_SyncWithPlayer))
// {
// MediaPlayListItem mpli;
// if (pPlayer->GetPlayListItem(mpli, curMediaIdx))
// {
// FullTrackRecordSP rec;
// if (pAPI->GetSQLManager()->GetFullTrackRecordByLocation(rec, mpli.url))
// {
// CInfoCtrl* pIC = m_ViewerPane.GetInfoControl();
// if (pIC != NULL)
// {
// pIC->SetActiveItem(rec);
// pIC->SetStyle(IT_Track);
// pIC->Refresh(100);
// }
// }
// }
// }
// }
//
// }
//
// }
//
// break;
return FALSE;
}
示例3: WindowProc
LRESULT CTeenSpiritDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if (message == WM_GETTEXT && wParam > GTB_First && wParam < GTB_Last && lParam != 0)//External commands interface
{
INT ret = 0;
LPCTSTR str = NULL;
LPTSTR externalBuffer = (LPTSTR) lParam;
externalBuffer[0] = 0;
MediaPlayer* pPlayer = PRGAPI()->GetMediaPlayer();
INT curTrack = pPlayer->GetPlayListPos();
if (curTrack >= 0)
{
MediaPlayListItem mpli;
if (pPlayer->GetPlayListItem(mpli, curTrack))
{
switch (wParam)
{
case GTB_Artist:
str = mpli.artist;
break;
case GTB_Title:
str = mpli.title;
break;
default:
ASSERT(0);
break;
}
}
}
if (str == NULL)
return 0;
_tcsncpy(externalBuffer, str, wParam);
return _tcslen(str);
}
else if (message == WM_COMMAND)//External commands interface
{
MediaPlayer* pPlayer = PRGAPI()->GetMediaPlayer();
if (pPlayer != NULL)
{
BOOL bHandled = TRUE;
switch (wParam)
{
case EXTERNALCOMMAND_Play: //Returns 0 on success
pPlayer->Start();
break;
case EXTERNALCOMMAND_Pause: //Returns 0 on success
pPlayer->Pause();
break;
case EXTERNALCOMMAND_Stop: //Returns 0 on success
pPlayer->Stop();
break;
case EXTERNALCOMMAND_Next: //Returns 0 on success
pPlayer->Next();
break;
case GTB_Artist:
case EXTERNALCOMMAND_Previous: //Returns 0 on success
pPlayer->Previous();
break;
case EXTERNALCOMMAND_ShowHidePlayer: //lparam=1 to show. 0 to hide. Returns 0 on success
if (IsWindowVisible() && lParam == 0)
PostMessage(WM_SYSCOMMAND, SC_MINIMIZE);
else if (!IsWindowVisible() && lParam == 1)
PostMessage(WM_SYSCOMMAND, SC_RESTORE);
break;
case EXTERNALCOMMAND_GetVolume: //Return vol 0-100. Returns 0-100 on success
return pPlayer->GetVolume();
case EXTERNALCOMMAND_SetVolume: //lParam is the new value(0-100) retunrns 0 on success
pPlayer->SetVolume(lParam);
PRGAPI()->GetStateManager()->SendMessage(SM_PlayerVolumeChanged);
break;
case EXTERNALCOMMAND_GetMute: //Returns 1 on mute ON. 0 on Mute off
return pPlayer->GetMute();
case EXTERNALCOMMAND_SetMute: //lparam=1 for mute ON. 0 Returns 0 on success
pPlayer->SetMute(lParam != 0);
PRGAPI()->GetStateManager()->PostMessage(SM_PlayerSettingsChanged);
break;
case EXTERNALCOMMAND_GetMediaLength: //returns the number of seconds
return INT(pPlayer->GetMediaLength());
case EXTERNALCOMMAND_GetMediaPos: //returns the number of seconds
return INT(pPlayer->GetMediaPos());
case EXTERNALCOMMAND_SetMediaPos: //lparam=1 for mute ON. 0 Returns 0 on success
pPlayer->SetMediaPos(lParam);
break;
default:
bHandled = FALSE;
}
if (bHandled)
return 0;
}
}
else if (message == WM_KEYDOWN || message == WM_SYSKEYDOWN)
{
TRACE(_T("CTeenSpiritDlg::WindowProc. KeyDown: %d-%d\r\n"), wParam, lParam);
}
return CDialog::WindowProc(message, wParam, lParam);
}