Итак, у меня тоже была эта проблема - ну, я уверен, что это та же самая проблема ...
У нас есть приложение в магазине приложений в течение года или около того, и недавно нам нужно было изменить немного контента, хотя ничего не работало.
Внезапно перестал работать звук - как симулятор в последней версии SDK (версия 4.0), так и на устройстве (снова под управлением iOS 4).
Код, который всегда работал для нас, был таким ...
NSString *sound_file;
if ((sound_file = [[NSBundle mainBundle] pathForResource:@"track1" ofType:@"mp3"])){
NSURL *url = [[NSURL alloc] initFileURLWithPath:sound_file];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
audioPlayer.delegate = self;
[url release];
[audioPlayer prepareToPlay];
[audioPlayer play];
}
Наконец, я обнаружил, что теперь вам нужно установить тип воспроизведения AVAudioSession, чтобы звук воспроизводился через динамик, как это уже было! Поместите следующую строку кода в ваш обработчик событий applicationDidFinishLaunching делегата приложения ...
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
Не забывая добавить в ваш файл .h делегат приложения (очевидно, вам также необходимо импортировать инфраструктуру AVFoundation, если это еще не сделано) ...
#import <AVFoundation/AVAudioSession.h>
Надеюсь, теперь звук будет воспроизводиться на устройстве.
Не поймите, что я думаю, что это отдельная проблема, и этот звук все еще не воспроизводится в симуляторе. Я видел другие посты, предлагающие это дело, но я не уверен, насколько широко это распространено. Я обнаружил, что если я выбрал iPad 3.2 в качестве симулятора, он хотя бы сработал. Радость!
Что кажется мне безумным, так это то, что, безусловно, это должно влиять на множество людей, и все же довольно сложно найти информацию или предложения по поводу чего-то, что должно быть довольно известной проблемой - в конце концов, я видел множество постов на форумах, которые, кажется, не получили ответа.
Anywayz, надеюсь, это поможет кому-то еще.