[英]Audio doesn't sound in a few iOS devices
我开发了一个应用程序,播放带有一些声音录音的音频文件。 当我调试它时,我没有任何问题,当我从AppStore下载它完美的工作,我的朋友使用它,他们没有任何问题的应用程序,但来自世界各地的一些人已经联系我告诉我应用程序没有声音。
这很奇怪,因为他们告诉我铃声(mp3 44100Hz,单声道,128kbps)首先发出声音但声音(mp3 44100Hz,立体声,96kbps)不响。 与我联系的人有不同的设备型号和不同版本的iOS 6。
我使用AVAudioPlayer播放文件,我认为它运作良好。
你有同样的问题吗?
谢谢
UPDATE
这是我拥有的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";
你确定他们的振动按钮没有打开吗? 我写了一个翻译应用程序,让用户只需将振动按钮打开静音。 这看起来很简单,但我已经收到了近15封电子邮件,称应用程序没有音频。
这似乎很简单,但该解决方案是最简单,最快捷的解决方案。 振动模式,关闭所有音频,甚至是应用程序。
我的翻译应用程序使用AVAudioPlayer,并没有任何编程错误。 只是用户错误。
也许音频比特率可能是问题? 我真的不知道......
铃声比运行良好有128kbps,音频文件有96kbps,有时不起作用。 奇怪的是,音频在90%的用途中运行良好但有时会失败。 铃声相反,100%的效果很好。
:/
如果不检查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];
我最近提交了一个具有相同问题的应用程序,但由于我没有在Xcode和应用程序信息下的“证书”窗格中设置“Inter-App Audio”,因此它被拒绝了。 这可能有所帮助。
如果您想知道,该应用程序违反了App Store指南的第2.13节 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.