我正在使用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
播放第一个音频时,应用程序崩溃了。
这是帮助截图。我认为这是关于内存管理的。
任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
你没有使用你说过的ARC而且你说你在playerItemDidReachEnd中释放了myQueue,这太早了..你没有完成队列,并且应该保留它直到你。
在您的课程被解除分配时释放
答案 1 :(得分:0)
启用ARC,尝试进入XCode中的断点,并将All Exceptions
替换为All Objective-C Exceptions
,看看是否再次发生。
我大量使用AVQueuePlayer
并在播放期间注意到框架代码中有一些例外,但文件仍然可以正常播放。