Example #1
0
LRESULT CLMoviePlayer::OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
#if 0
	CComQIPtr<ILXFrameworkFrame> frame;
	m_app->m_spAddinSite->GetFrame(&frame);

	CComPtr<ILXFrameworkApp> app;
	frame->GetApp(&app);

//	CComPtr<ILXUIMDIFrameElement> frameelement;
//	frame->get_Element(&frameelement);

	CComPtr<ILXUIDocument> appdocument;
	app->get_Document(&appdocument);

	CComQIPtr<ILMediaSeeking> seeking = m_filterGraph;
	LONGLONG currentPos;
	seeking->GetCurrentPosition(&currentPos);

	CComPtr<ILDOMElement> element;
	appdocument->getElementById(L"media_current", &element);
	if (element)
	{
		WCHAR str[64];
		swprintf(str, L"%g", (double)currentPos / LTIME_SCALE);
		element->put_textContent(str);
	}
#endif

	return 0;
}
Example #2
0
extern "C" int WINAPI pos(HWND,HWND,char *data,char*,BOOL,BOOL)
{
	CComPtr<IFilterGraph> pFG;
	if(!GetFilterGraph(&pFG))
		return 1;

	CComQIPtr<IMediaSeeking> pMS = pFG;
	REFERENCE_TIME pos, dur;
	if(FAILED(pMS->GetCurrentPosition(&pos)) || FAILED(pMS->GetDuration(&dur)))
		return 1;

	if(dur > 10000000i64*60*60)
	{
		sprintf(data, _T("%02d:%02d:%02d/%02d:%02d:%02d"), 
			(int)(pos/10000000/60/60), (int)(pos/10000000/60)%60, (int)(pos/10000000)%60,
			(int)(dur/10000000/60/60), (int)(dur/10000000/60)%60, (int)(dur/10000000)%60);
	}
	else
	{
		sprintf(data, _T("%02d:%02d/%02d:%02d"), 
			(int)(pos/10000000/60)%60, (int)(pos/10000000)%60,
			(int)(dur/10000000/60)%60, (int)(dur/10000000)%60);
	}

	return 3;
}
Example #3
0
MEDIA_TIME FMPlayerDShow::GetPosition()
{
	MEDIA_TIME rtCur = 0; 
	CComQIPtr<IMediaSeeking> iSeeking = m_FilterGraph; 
	if (iSeeking)
	{
		iSeeking->GetCurrentPosition(&rtCur); 
	}
	return rtCur; 
}
Example #4
0
LRESULT CLX3DViewer::OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	UINT wTimerID = (UINT)wParam;	// timer identifier 

	if (wTimerID == m_nRunTimer)
	{
		CComQIPtr<ILMediaSeeking> seeking = m_filterGraph;
		LONGLONG currentPosition;
		seeking->GetCurrentPosition(&currentPosition);
		m_currentPosition = currentPosition / 100000.0;

		m_slider.SetPos(m_currentPosition);
		InvalidateRect(&m_slider.GetRect());
		UpdateWindow();
	}

	return 0;
}