我开发了一个播放带有一些声音录音的音频文件的应用。当我调试它时,我没有任何问题,当我从AppStore下载它完美的工作,我的朋友使用它,他们没有任何问题的应用程序,但来自世界各地的一些人已经联系我告诉我应用程序没有声音。
这很奇怪,因为他们告诉我铃声(mp3 44100Hz,单声道,128kbps)首先发出声音但声音(mp3 44100Hz,立体声,96kbps)不响。与我联系的人有不同的设备型号和不同版本的iOS 6。
我使用AVAudioPlayer播放文件,我认为它运行良好。
您是否遇到过同样的问题?
谢谢
更新
这是我有的Localizable.strings
我像这样加载文件:
//
NSString *fileLang = NSLocalizedString(aItem.fileName, nil);
//more code ...
thePlayerURL = [[NSBundle mainBundle] URLForResource:fileLang withExtension:@"mp3"];
//more code ...
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL: aItem.urlAudio error:&error];
player.delegate = self;
[player prepareToPlay];
这是带有文件键和值的Localizable.strings的示例,默认情况下,键的名称是文件的西班牙语版本:
//AUDIO NAMES
"1_au_es" = "1_au_en";
"2_au_es" = "2_au_en";
"3_au_es" = "3_au_en";
"4_au_es" = "4_au_en";
"5_au_es" = "5_au_en";
"6_au_es" = "6_au_en";
"7_au_es" = "7_au_en";
"8_au_es" = "8_au_en";
"9_au_es" = "9_au_en";
"10_au_es" = "10_au_en";
"11_au_es" = "11_au_en";
"12_au_es" = "12_au_en";
"13_au_es" = "13_au_en";
"14_au_es" = "14_au_en";
"15_au_es" = "15_au_en";
"16_au_es" = "16_au_en";
"17_au_es" = "17_au_en";
"18_au_es" = "18_au_en";
"19_au_es" = "19_au_en";
答案 0 :(得分:0)
您是否确保他们的振动按钮没有打开?我写了一个翻译应用程序,让用户只需将振动按钮打开静音。这看起来很简单,但我已经收到了近15封电子邮件,说应用程序没有音频。
看起来很简单,但该解决方案是最简单,最快捷的解决方案。振动模式,关闭所有音频,甚至是应用程序。
我的翻译应用程序使用AVAudioPlayer,并没有任何编程错误。只是用户错误。
答案 1 :(得分:0)
也许音频比特率可能是问题?我真的不知道......
铃声,效果不错,有128kbps,音频文件有96kbps,有时不起作用。奇怪的是,音频在90%的用途中运行良好但有时会失败。铃声反而很好地运行了100%。
:/
答案 2 :(得分:0)
如果不检查Xcode项目配置,很难找到解决此问题的精确解决方案。但是,根据您在评论中提到的信息,我怀疑问题必须与Localization字符串相关。检查您的本地化配置,检查您是否正确使用了本地化字符串文件,检查您是否为每个支持的本地化写了有效的文件名。
另外,检查您的代码:
NSString *fileLang = NSLocalizedString(aItem.fileName, nil);
//more code ...
thePlayerURL = [[NSBundle mainBundle] URLForResource:fileLang withExtension:@"mp3"];
//more code ...
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL: aItem.urlAudio error:&error];
player.delegate = self;
[player prepareToPlay];
为什么你没有使用“thePlayerURL”?也许这就是问题,因为是“本地化的URL”。我希望:
NSString *fileLang = NSLocalizedString(aItem.fileName, nil);
//more code ...
thePlayerURL = [[NSBundle mainBundle] URLForResource:fileLang withExtension:@"mp3"];
//more code ...
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:thePlayerURL error:&error];
player.delegate = self;
[player prepareToPlay];
答案 3 :(得分:0)
我最近提交了一个具有相同问题的应用程序,但由于我没有在Xcode和应用程序信息下的“证书”窗格中设置“Inter-App Audio”,因此被拒绝了。这可能有所帮助。
如果您想知道,该应用程序违反了App Store Guidelines.
的第2.13节