1

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しかし、コンソールログで最初のオーディオを再生しているときにアプリケーションがクラッシュします。これはヘルプのスクリーンショットです。それはメモリ管理に関するものだと思います。

どんな助けでもありがたいです。ありがとうございました。

4

2 に答える 2

0

あなたが言ったARCを使用しておらず、myQueueをplayerItemDidReachEndで解放すると言っていますが、これは早すぎます..キューで完了していないため、完了するまで保持しておく必要があります。

クラスの割り当てが解除されたら解放します

于 2013-01-11T09:06:07.317 に答える
0

ARC を有効にし、XCode のブレークポイントに入ってみて、 を に置き換えて、All Exceptions再度All Objective-C Exceptions発生するかどうかを確認します。

私はAVQueuePlayer頻繁に使用していて、再生中にフレームワーク コードに多数の例外があることに気付きましたが、ファイルは引き続き正常に再生されます。

于 2013-01-11T14:49:34.337 に答える