Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 为什么在Cocos2d中播放声音时会出现延迟?_Iphone_Xcode_Cocos2d Iphone_Ios Simulator - Fatal编程技术网

Iphone 为什么在Cocos2d中播放声音时会出现延迟?

Iphone 为什么在Cocos2d中播放声音时会出现延迟?,iphone,xcode,cocos2d-iphone,ios-simulator,Iphone,Xcode,Cocos2d Iphone,Ios Simulator,我确信有一种方法可以做到这一点,但我不知道如何做到,而且我对Cocos2d的声音还不熟悉。我使用的是Ray Wenderlich的精彩教程(第1部分)中的SimpleAudioEngine.h。问题是,当它播放声音时会有延迟。我知道有一种方法可以消除延迟,因为,看看所有已经在iPhone上推出的游戏!!请注意,我是在模拟器上做这件事的,而不是在真正的设备上,如果这有区别的话。感谢您的帮助。谢谢 你试过这个效果吗?在调用playEffect之前在初始化时预加载音频效果: [[SimpleAudio

我确信有一种方法可以做到这一点,但我不知道如何做到,而且我对Cocos2d的声音还不熟悉。我使用的是Ray Wenderlich的精彩教程(第1部分)中的SimpleAudioEngine.h。问题是,当它播放声音时会有延迟。我知道有一种方法可以消除延迟,因为,看看所有已经在iPhone上推出的游戏!!请注意,我是在模拟器上做这件事的,而不是在真正的设备上,如果这有区别的话。感谢您的帮助。谢谢

你试过这个效果吗?在调用playEffect之前在初始化时预加载音频效果:

[[SimpleAudioEngine sharedEngine] preloadEffect:@"pew-pew-lei.caf"];

你试过这个效果吗?在调用playEffect之前在初始化时预加载音频效果:

[[SimpleAudioEngine sharedEngine] preloadEffect:@"pew-pew-lei.caf"];

此修复可能不起作用。如果声音引擎未正确初始化,它将永远无法正确预加载

声音口吃的另一种可能性:您的代码可能同时请求多个资源文件,如果您不是多线程,则可能会影响声音效果

测试方法:在播放音效时注释掉代码。如果您的代码被注释掉后,音效没有出现断断续续的现象,这意味着您的代码“让设备或线程保持忙碌”


我在播放爆炸动画时发现了这个问题。当我注释掉动画代码时,音效并没有影响游戏的进行。

此修复可能不起作用。如果声音引擎未正确初始化,它将永远无法正确预加载

声音口吃的另一种可能性:您的代码可能同时请求多个资源文件,如果您不是多线程,则可能会影响声音效果

测试方法:在播放音效时注释掉代码。如果您的代码被注释掉后,音效没有出现断断续续的现象,这意味着您的代码“让设备或线程保持忙碌”


我在播放爆炸动画时发现了这个问题。当我注释掉动画代码时,音效并没有影响游戏的进行。

是的,这确实会有所不同。如果不在设备上测试,您如何知道相同的效果会在设备上发生?这适用于任何情况,图形故障、性能等等。如果你在模拟器上遇到任何技术问题,你首先要做的就是验证这个问题是否也存在于设备上。是的,这确实会产生影响。如果不在设备上测试,您如何知道相同的效果会在设备上发生?这适用于任何情况,图形故障、性能等等。如果你在模拟器上遇到任何技术问题,你首先要做的就是验证这个问题在设备上是否也存在。你什么时候调用preload?它应该在你的应用程序初始化代码中,每个音效只需要调用一次。对于任何阅读本文的人,你需要预加载,然后播放它。只需预加载声音就不会播放。还要确保声音不仅在您的资源中,而且还添加到了您的“复制捆绑资源”中,因为如果没有,它就不会播放。您可以在项目的目标中找到它,然后单击“+”符号添加它。您何时调用预加载?它应该在你的应用程序初始化代码中,每个音效只需要调用一次。对于任何阅读本文的人,你需要预加载,然后播放它。只需预加载声音就不会播放。还要确保声音不仅在您的资源中,而且还添加到了您的“复制捆绑资源”中,因为如果没有,它就不会播放。您可以在项目的目标中找到它,然后单击“+”符号添加它。