我用了CShockwaveFlash播放Flash我现在弄了个Timer实现三个Flash循环播放
现在循环播放可以实现了
但是窗体背景色永远是第一个Flash的如何解决啊~~~
void CPlayFlashDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{
// url change
CString strFileName = strRootPath + strFileNames[nCnt++];
if(m_FlashPlayer.IsPlaying())
{
m_FlashPlayer.StopPlay();
m_FlashPlayer.Stop();
}
m_FlashPlayer.SetMovie(strFileName);
m_FlashPlayer.Play();
if(nCnt >= 3) nCnt = 0;
}
else
{
CPlayFlashDlg::OnTimer(nIDEvent);
}
}
现在循环播放可以实现了
但是窗体背景色永远是第一个Flash的如何解决啊~~~
void CPlayFlashDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{
// url change
CString strFileName = strRootPath + strFileNames[nCnt++];
if(m_FlashPlayer.IsPlaying())
{
m_FlashPlayer.StopPlay();
m_FlashPlayer.Stop();
}
m_FlashPlayer.SetMovie(strFileName);
m_FlashPlayer.Play();
if(nCnt >= 3) nCnt = 0;
}
else
{
CPlayFlashDlg::OnTimer(nIDEvent);
}
}
我加在m_FlashPlayer.SetMovie(strFileName);上面没反应
在Paly()后面:m_FlashPlayer.ShowWindow(SW_SHOW);
CPlayFlashDlg::OnTimer(nIDEvent); ==> CDialog::OnTimer(nIDEvent);
函数用的是正确的,或者try LoadMovie ,我写过flash播放器,没出现两个flash相互干扰的情况
我试过LoadMovie
好像不行
麻烦你能给点事例代码不??
m_SwfBox.LoadMovie(0,dlgFileOpen.m_ofn.lpstrFile);m_SwfBox.Play();
我的代码也是这样啊,但是不行的
背景色总是显示第一个Flash的背景色能把你做的给我看看么?
我对VC不熟
谢谢了to sinall:
比如第一个Flash的背景色是红的,第二个背景色是黑的,播放完第一个,接着播放第二个的时候,第二个的背景色还留着红色,也就是说第一个的背景色影响以后的
我在切换Flash播放前加了
RECT rc;
this->GetClientRect(&rc);
this->InvalidateRect(rc,true);
m_FlashPlayer.InvalidateRect(rc,true);还是没反应~~~