Mucho tiempoはこれに無駄になっています-AVAudioPLayerを使用してかなり簡単に再生できますが、ファイルの再生が終了すると、デバッグウィンドウに次のメッセージが表示されます。
objc [39752]:クラス_NSThreadPerformInfoのオブジェクト0x7304d80が自動リリースされ、プールが配置されていません-リークしているだけです-objc_autoreleaseNoPool()で中断してデバッグします
これが私のplay関数とcallback関数です(ファイル名の作成を簡略化しましたが、エラーは同じです):
@implementation PlaybackEngine {
int _pbIndex;
AVAudioPlayer *_player;
NSArray *fileList;
BufferStores *_BS;
}
....
-(BOOL)startPlayback {
NSURL *playURL = [[NSURL alloc] initWithString:[[DOCUMENTS_FOLDER stringByAppendingPathComponent:@"28Jan13_17:13:21.aif"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
printf("Playback file URL = %s\n", [[playURL path] UTF8String]);
_player = [[AVAudioPlayer alloc] initWithContentsOfURL:playURL error:nil];
_player.delegate = self;
[_player prepareToPlay];
[_player play];
self.playing = YES;
return YES;
}
-(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag {
// check for player stopping due to bad audio data
if (!flag) {
printf("Player finished playing due to bad audio data");
}
self.playing = NO;
_player = nil;
}
ブレークポイントをオンに設定しようとしましたobjc_autoreleaseNoPool
が、ヒットしません。私が犯している、目がくらむほど明白なARCの間違いは何ですか?