我想通过AVAudioPlayer
播放MP3,我认为这很简单。不幸的是,它不是很有效。下面是我所做的:AVAudioPlayer立即停止播放ARC
- 为了测试的缘故,我创建了一个新的iOS应用程序(单 视图)在Xcode。
我加入了AVFoundation框架到项目还有
#import <AVFoundation/AVFoundation.h>
到ViewController.m
我增加了一个MP3文件到Apps的文档“文件夹。
我改变了
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进行编译时才会出现此问题,否则,它会完美地工作。
你不需要启动另一个线程来播放音频。你有没有试过提供一个错误指针来查看是否有任何东西被记录? – isaac
你会得到什么错误? – Daniel
是的,我通过一个NSError initWithContensOfURL。它保持零,但...所以我没有得到任何错误,它只是立即停止播放。 – Phlibbo