📄 subject_19011.htm
字号:
<p>
序号:19011 发表者:朱峻宏 发表日期:2002-10-25 00:09:18
<br>主题:看看你是不是高手,能不能解决这个问题?
<br>内容:我正在编一个flash播放软件,界面象winamp,在播放时有个滑块控件表示播放进度,并且可以拖动到指定的位置播放,现在有个问题,就是在播放是图象和声音有点卡,断断续续的。产生这个问题的原因就是那个滑块控件前进引起的,我实现这个功能是设置一个定时器,每0.1秒读flash当前帧,然后设置滑块,代码如下:<BR>void CFlashDlg::OnTimer(UINT nIDEvent) <BR>{<BR> <BR> KillTimer(1);<BR> if(SwfDlg.PlayFlag==true)<BR> {<BR> int FrameCurNum=SwfDlg.m_flash.GetFrameNum();<BR> UpdateData(true);<BR> m_PlaySlider.SetPos(FrameCurNum);<BR> UpdateData(false);<BR> SetTimer(1,100,NULL);<BR> }<BR> CDialog::OnTimer(nIDEvent);<BR>}
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:肥强 回复日期:2002-10-25 01:21:28
<br>内容:用多媒体Timer
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:不说 回复日期:2002-10-25 02:17:09
<br>内容:根据初步统计你这里面至少有一处不当+两句废话……<BR><BR>一般是这样的<BR>#define WM_TIMER_MINE xxxx<BR><BR>void CFlashDlg::OnTimer(UINT nIDEvent) <BR>{<BR> if (nIDEvent == WM_TIMER_MINE)<BR> {<BR> //KillTimer(1); 这是干什么?<BR> if(SwfDlg.PlayFlag==true)<BR> {<BR> int FrameCurNum=SwfDlg.m_flash.GetFrameNum();<BR> UpdateData(FALSE); //这就已经set滑块的位置了<BR> //m_PlaySlider.SetPos(FrameCurNum); 多余<BR> //UpdateData(false); 多余<BR> //SetTimer(1,100,NULL); 还是多余<BR> }<BR> }<BR> CDialog::OnTimer(nIDEvent);<BR>} <BR><BR>至于这是不是造成你断续的原因俺可不小得了呵呵 ……<BR>另外,怕别人不回答不讨论也不用采用这样的标题吧?看着就不舒服……
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:朱峻宏 回复日期:2002-10-25 10:11:32
<br>内容://m_PlaySlider.SetPos(FrameCurNum); 多余<BR>这句怎么能多余呢?<BR>没有了这句滑块都不动了<BR><BR>还有多媒体timer怎么用??
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:不说 回复日期:2002-10-25 13:34:55
<br>内容:你UpdateData(FALSE)的时候已经设置了滑块的位置了呀……除非……你没关联一个int变量给你的slider?那你写UpdateData干什么用啊?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:朱峻宏 回复日期:2002-10-25 18:21:37
<br>内容:高手怎么关联呀?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:不说 回复日期:2002-10-25 18:39:50
<br>内容:classwizard里第二个tab是member variable,在里面会列出来你的这个slider的ID,然后你选add variable之后会有个对话框,里面可以选类型,slider应该是Control或者int类型,Control类型是用来给你set/get这个control的一些属性的,int类型则是用来UpdateData(TRUE/FALSE)用的。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:朱峻宏 回复日期:2002-10-27 21:37:05
<br>内容:我关联了一个Control类型的呀,就是移动起来卡
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:david (小鱼儿) 回复日期:2002-10-28 09:29:19
<br>内容:真不好意思,我都看不懂
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:口水龙 回复日期:2002-10-28 11:14:05
<br>内容:void CFlashDlg::OnTimer(UINT nIDEvent) <BR>{<BR> if(SwfDlg.PlayFlag==true)<BR> {<BR> int FrameCurNum=SwfDlg.m_flash.GetFrameNum();<BR> m_PlaySlider.SetPos(FrameCurNum);<BR> }<BR> CDialog::OnTimer(nIDEvent);<BR>} <BR>settimer在程序初始化的时候调用
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:口水龙 回复日期:2002-10-28 11:16:53
<br>内容:最好是,在程序中setrange(0,100);<BR>用一个变量保存当前播放的flash文件的总桢数。<BR>然后,setpos的时候setpos(framecurnum/frametotalnum)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:朱峻宏 回复日期:2002-10-29 00:52:04
<br>内容:郁闷了怎么多天的问题终于解决了,我在拖动滑块不用customdraw消息,而用了relasedcapture消息后就解决了,ontimer函数没有问题,在这里我非常感谢帮我的朋友们,不过这里不象csdn里可以每个人都给分,我决定把分给"不说",但我还是要感谢口水龙,肥强 .谢谢你们!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -