AVQueuePlayer - 播放第一个音乐文件后崩溃的应用程序

时间:2013-01-10 12:25:27

标签: iphone xcode memory-management audio-streaming avqueueplayer

我正在使用AVQueuePlayer播放多个音乐文件。

我正在使用此代码,

NSString *str1 = @"www.mymusic.1.mp3";
NSURL *url1 = [NSURL URLWithString:str1];
AVPlayerItem *s1 = [AVPlayerItem playerItemWithURL:url1];

NSString *str2 = @"www.mymusic.2.mp3";
NSURL *url2 = [NSURL URLWithString:str2];
AVPlayerItem *s2 = [AVPlayerItem playerItemWithURL:url2];

myQueue = [[AVQueuePlayer alloc] initWithItems:[NSArray arrayWithObjects:s1,s2, nil]];
[myQueue play];

但在控制台日志中使用lldb播放第一个音频时,应用程序崩溃了。 这是帮助截图。我认为这是关于内存管理的。

任何帮助将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:0)

你没有使用你说过的ARC而且你说你在playerItemDidReachEnd中释放了myQueue,这太早了..你没有完成队列,并且应该保留它直到你。

在您的课程被解除分配时释放

答案 1 :(得分:0)

启用ARC,尝试进入XCode中的断点,并将All Exceptions替换为All Objective-C Exceptions,看看是否再次发生。

我大量使用AVQueuePlayer并在播放期间注意到框架代码中有一些例外,但文件仍然可以正常播放。