gpt4 book ai didi

ios - 在iOS中无法播放声音

转载 作者:行者123 更新时间:2023-12-01 17:44:48 25 4
gpt4 key购买 nike

我正在制作一个小型iOS游戏,除声音外,其他所有操作都已完成。我已经检查了文件格式,尝试了.wav和.aiff,但是它们都不起作用。相关代码如下:
.h文件:

#import <AudioToolbox/AudioToolbox.h>

@public SystemSoundID mBeep;
NSString* path;
NSURL* url;
.m文件:
path = [[NSBundle mainBundle]pathForResource:@"hit" ofType:@"wav"];
url = [NSURL URLWithString:path];
AudioServicesCreateSystemSoundID((CFURLRef)url, &mBeep);

AudioServicesPlaySystemSound(mBeep); //Gets called, doesn't play

如果我使用未记录的ID之一(例如 1103AudioServicesPlaySystemSound),则声音可以正常播放。

我非常确定我的文件很好,因为相同的.wav文件可以在Android,VLC,iTunes等设备上完美运行。

有人知道我在做什么错吗?

最佳答案

罪魁祸首是WAV上的编码。如this answer所示,iOS仅支持某些编解码器,而您尝试播放的WAV可能使用了不受支持的编解码器。

就像该答案所说的那样,最简单的解决方案是使用命令行afconvert工具(无损地)将WAV转换为Apple的默认CAF格式,并使用该格式:

afconvert sound1.wav sound1.caf

另一个可能性以及OP的实际问题是文件不存在和/或 pathForResource未成功找到它,这可以通过 path表示为 nil来表明。

关于ios - 在iOS中无法播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9451533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com