Я пытаюсь воспроизвести MP3 через AVAudioPlayer
, который, как я думал, довольно прост. К сожалению, он не совсем работает. Вот все, что я сделал:
- Для тестирования я создал новое приложение для iOS (Single View) в Xcode.
-
Я добавил структуру AVFoundation для проекта, а также
#import <AVFoundation/AVFoundation.h>
вViewController.m
-
Я добавил файл MP3 в папку "Документы приложений".
-
Я изменил
ViewControllers
viewDidLoad:
на следующее:
код:
- (void)viewDidLoad
{
[super viewDidLoad];
NSString* recorderFilePath = [NSString stringWithFormat:@"%@/MySound.mp3", [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]];
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:recorderFilePath] error:nil];
audioPlayer.numberOfLoops = 1;
[audioPlayer play];
//[NSThread sleepForTimeInterval:20];
}
К сожалению, звук, очевидно, останавливается сразу после начала воспроизведения. Если я раскомментирую sleepForTimeInterval
, он воспроизводится в течение 20 секунд и останавливается после этого. Эта проблема возникает только при компиляции с ARC, в противном случае она работает безупречно.