首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SimpleAudioEngine总是发挥同样的效果吗?

SimpleAudioEngine总是发挥同样的效果吗?
EN

Stack Overflow用户
提问于 2012-05-20 19:19:24
回答 2查看 281关注 0票数 0

我录制了一些文件,然后播放它:

代码语言:javascript
复制
NSArray *dirPaths;
    NSString *docsDir;
    dirPaths = NSSearchPathForDirectoriesInDomains(
                                                   NSDocumentDirectory, NSUserDomainMask, YES);
    docsDir = [dirPaths objectAtIndex:0];
    NSString *soundFilePath = [docsDir
                               stringByAppendingPathComponent:@"temp0.caf"];

 //play
[[SimpleAudioEngine sharedEngine] preloadEffect:soundFilePath];
    [[SimpleAudioEngine sharedEngine] playEffect:soundFilePath  pitch:1.5f pan:0.0f gain:0.3f];

它在第一次工作,但第二次它再次播放相同的文件,即使我已经录制了一些其他文件。

有什么帮助吗?

EN

回答 2

Stack Overflow用户

发布于 2012-05-20 19:43:44

也许你的音频引擎正在预加载这个效果,并保持这个预加载,试一下:

代码语言:javascript
复制
[[SimpleAudioEngine sharedEngine] preloadEffect:nil];
[[SimpleAudioEngine sharedEngine] preloadEffect:soundFilePath];

    [[SimpleAudioEngine sharedEngine] playEffect:soundFilePath  pitch:1.5f pan:0.0f gain:0.3f];

另外,代码在何时何地被调用。它是以你的记录命名的,对吧?也许可以试试:

代码语言:javascript
复制
NSArray *dirPaths = nil;
    NSString *docsDir = nil;

在顶端。试试看,如果不起作用,我需要看看你的录音代码

票数 1
EN

Stack Overflow用户

发布于 2012-05-23 11:27:06

我认为发生的情况是您的音频文件拒绝被新文件覆盖。也许您应该尝试在每次用户记录一个文件时更改文件的名称。这样,当他录制时,您可以将文件保存为字符串,格式为:

代码语言:javascript
复制
[NSMutableString stringWithFormat:@"temp%d.caf",number];

然后,每当用户想要记录时,您就将“number”加1。

代码语言:javascript
复制
number = number +1;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10672959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档