D dira Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-07 #1 我一个游戏中处理了动作和语音,由于采用多线程处理,语音和动作是分开发送的,所以,会出现动作和语音不同步的情况,请问各位大侠有何解决办法,祝大家新年愉快!
S SiWeiLiuLang Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-07 #3 对这个东西不熟,冒昧说两句 语音和动作在录制的时候频率应该是配套的,否则电脑怎么能自动去调控呢? 有一个时间在它们两个之间联系,这样就知道在某个声音处,找到相应的动作。
D dira Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-07 #4 这两个数据包我是多线程分别发送的,如果一个数据包到了,另一个没到也很麻烦
U ufo! Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-07 #5 给个建议,如果对动作和语音的同步要求很高,那么可以采用这两种方式试试: 1。在语音和动作数据内分别加入同步信号。 2。把动作和语音一并打包发送,收到后解包分离。
K kaoleoloi Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-08 #7 帮顶! ╭=========================================╮ 80G海量源代码,控件,书籍全免费狂下不停! http://www.source520.com ╰=========================================╯
帮顶! ╭=========================================╮ 80G海量源代码,控件,书籍全免费狂下不停! http://www.source520.com ╰=========================================╯
L lifeengines Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-08 #9 在游戏中处理音乐应该是由你定义的事件来控制吧,比如当你的某一个图形(按纽)按下,那么播放一个声音.不知道楼主是什么意思.
D dira Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-08 #10 如果是这样到好了,只要消息到的时候播放一个声音就好了,现在是比如CS中我语音通知队友到A区,但有网络延时,等我到了A区了,声音才传到队友那里,我孤身一人岂不是黄了
Q qcchan Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-08 #12 可以先做个缓存,提前接收数据包,如果动作和语音包有一个没接收到,就等待一下,接收到了再处理,这样应该没问题的
L lifeengines Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-08 #13 如果只是使用一个连接的话,建议把语音和动作合并打包,如果使用了两个或以上连接,或者两种或以上连接方式的话,建议在数据头加同步信号.
D dira Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-08 #14 现在主要是采集是两个来源,声音和动作,同时打包有点问题;请问加同步信号是怎样的处理原理,能否叙述一二,再次感谢 !
E eagleql Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-08 #15 对于多线程不同步是无法避免的!除非使用多个CPU。一个CPU一次只能处理一个事件! 就像在机器上进程过多后会感到卡机一样!就是这样产生的,因为CPU的频率有限,多了就不用说了吧!.................................. 如果需要楼主说的那样CS的问题!你可以把那些特殊的文件分类,然后将起优先值设高! 那样CPU在处理是后根据优先值的高低安排处理!
对于多线程不同步是无法避免的!除非使用多个CPU。一个CPU一次只能处理一个事件! 就像在机器上进程过多后会感到卡机一样!就是这样产生的,因为CPU的频率有限,多了就不用说了吧!.................................. 如果需要楼主说的那样CS的问题!你可以把那些特殊的文件分类,然后将起优先值设高! 那样CPU在处理是后根据优先值的高低安排处理!
K kaoleoloi Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-11 #16 帮顶! ╭=========================================╮ 80G海量源代码,控件,书籍全免费狂下不停! http://www.source520.com ╰=========================================╯
帮顶! ╭=========================================╮ 80G海量源代码,控件,书籍全免费狂下不停! http://www.source520.com ╰=========================================╯
W whatdelphi Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-12 #18 为什么你要发送动作和声音?如果要做成CS那样的游戏,你完全可以不用多线程,比如说你开了一枪,就只发送动作信号就可以(例如,AK47在地图位置A0010023开火3下,可翻译成FIRE/AK47/A0010023/3/Player1,当然CS中并不是我这么写的,我只是举例说一下),至于声音让接收到该信号的在线客户端自己处理就可以了,他们一接收到动作信号,相应就调用了对应的声音,这是封装在客户端中的。
为什么你要发送动作和声音?如果要做成CS那样的游戏,你完全可以不用多线程,比如说你开了一枪,就只发送动作信号就可以(例如,AK47在地图位置A0010023开火3下,可翻译成FIRE/AK47/A0010023/3/Player1,当然CS中并不是我这么写的,我只是举例说一下),至于声音让接收到该信号的在线客户端自己处理就可以了,他们一接收到动作信号,相应就调用了对应的声音,这是封装在客户端中的。
S skyccf Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-17 #19 同意楼上,如果上游戏的话可以把这些都封装到客户端里就好了,到时候只是发各指令本机上去执行响应的操作就ok了 !