请问下,VC怎么和Flash(.swf格式)进行交互?怎么设置Flash中定义的变量值?
我用以下方法,好像不起作用。
CShockwaveFlash *m_pFlashPlayer = NULL;
......
m_pFlashPlayer->SetVariable("myText","11111"); 在Flash中怎么定义变量,才可以支持写myText的值?但是:
Cstring ss=m_pFlashPlayer->GetVariable("myText");
用这个读取能成功,不知道怎么回事?非常苦恼,望请赐教!
我用以下方法,好像不起作用。
CShockwaveFlash *m_pFlashPlayer = NULL;
......
m_pFlashPlayer->SetVariable("myText","11111"); 在Flash中怎么定义变量,才可以支持写myText的值?但是:
Cstring ss=m_pFlashPlayer->GetVariable("myText");
用这个读取能成功,不知道怎么回事?非常苦恼,望请赐教!
解决方案 »
- 字符串相等的问题,怪事了,两个字符串明明相等,为什么就跳不进if里面去
- 虚继承相关
- 请教,有什么办法设置滚动条拖动的步长
- 想起一个线程,专门管理应用程序的网络SOCKET收发
- 数组问题
- 这个问题应该怎么解决啊?
- 用ActiveX控件进行串口通信的输入输出问题
- 使用AfxMessageBox(),如何出现OK和Cancel两个按钮,并且返回这两种不同的选择值?
- 小问题!来看看!!up有分!
- 我用LoadString取String table里的字符串,但它必须得定义一个CString对象,
- Xtreme ToolkitPro 界面库如何实现 qq聊天窗口的工具条?
- 多个选项卡时怎样优化代码使其他tab全部隐藏只显示当前的?
这个函数调用失败,GetLastError()返回值什么?
class CFlash : public CDialog
{ ……public:
//------------Flash文件---------------
char PathName[255];// 保存flash文件名
void FlashRun(); //*.swf文件运行
void FlashPause(); //*.swf文件暂停
void FlashStop(); //*.swf文件停止
long lMSEL; //定义总的播放毫秒数
long CurrentNum; //保存当前的帧数CurrentFrame()
// long CMSEL; //定义当前的已经播放的时间
……
}在Flash.cpp中long i_TotalNum=0; //保存总帧数GetTotalFrames()
long CMSEL=0; //定义当前的已经播放的时间//--------------*.swf----
void CFlash::FlashRun()
{
long state=0;
UpdateData(FALSE);
CMSEL=0;//定义当前的已经播放的时间CurrentNum=0;
m_FlashOCX.LoadMovie(0,PathName);
state=m_FlashOCX.GetReadyState();
m_FlashOCX.Zoom(0);//还原大小,显示全部的内容// long lMSEL=0; //定义总的播放毫秒数
if(state==4)
{
m_FlashOCX.GotoFrame(0);
CurrentNum=m_FlashOCX.CurrentFrame();
i_TotalNum=m_FlashOCX.GetTotalFrames();
m_FlashOCX.GotoFrame(CurrentNum); lMSEL=i_TotalNum; //得到总的毫秒数,将总帧数转换为毫秒数
m_FlashOCX.Play();//播放
SetTimer(3,10,NULL);
}
}void CFlash::FlashPause()
{
m_FlashOCX.Stop(); //在当前帧位置停止播放
KillTimer(3);
}void CFlash::FlashStop()
{
KillTimer(3);
m_FlashOCX.GotoFrame(m_FlashOCX.GetTotalFrames()-1);//移动到最后一帧
m_FlashOCX.Stop(); //在末尾停止播放
m_FlashOCX.Zoom(0);//还原大小,显示全部的内容
m_FlashOCX.SetBGColor("0");
}void CFlash::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
int oldNum=CurrentNum;
CurrentNum=m_FlashOCX.CurrentFrame();
if(oldNum!=CurrentNum)
CMSEL=CMSEL+1; //保存现在已经播放的时间数if(CurrentNum>=i_TotalNum-1)
{ FlashStop(); /*m_FlashOCX.StopPlay();*/ }
else
{
if(CMSEL>=lMSEL) //lMSEL为总的播放时间,CMSEL为当前已经播放的时间数
FlashStop();
else
{
m_FlashOCX.Zoom(0);//还原大小,显示全部的内容
if(m_FlashOCX.IsPlaying()==FALSE)//判断*.swf文件是否正在播放
{ m_FlashOCX.Play(); }
}
}
CDialog::OnTimer(nIDEvent);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////“播放”按钮代码:
flash.Play();
“暂停”按钮代码:
flash.Stop();
“停止”按钮代码:
flash.Rewind();
flash.Stop();
“重播”按钮代码:
flash.Rewind();
flash.Play();
“后退”按钮代码:
flash.Back();
“前进”按钮代码:
flash.Forward();
“末帧”按钮代码:
flash.GotoFrame(flash.get_TotalFrames()-1);
“快退”按钮代码:
int current=flash.CurrentFrame();
if(current>4)
{
current-=5;
flash.GotoFrame(current);
}
else
{
flash.put_FrameNum(0);
} “快进”按钮代码:
int current=flash.CurrentFrame();
int i=flash.get_FrameNum();
if(current<flash.get_TotalFrames()-5)
{
current+=5;
flash.GotoFrame(current);
}
else
{
flash.put_FrameNum(flash.get_TotalFrames()-1);
} “放大”按钮代码:
flash.Zoom(50); “缩小”按钮代码:
flash.Zoom(200);