1
在項目中,我從iPhone手機的話筒多條記錄,我循環使用此代碼打破了多個環
-(IBAction)loop1{
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:temporaryRecFile error:&error];
audioPlayer.numberOfLoops = 100;
[audioPlayer play];
}
,並停止使用此代碼
-(IBAction)loopstop1{
audioPlayer.numberOfLoops = 0;
[audioPlayer stop];
}
當不止一個記錄正在循環,但是這種停止方法只會停止最後一次設置爲循環的記錄,我想知道是否有任何突破所有音頻循環,或打破這些特定的循環,因爲我只是設法停止最後一次錄音已經循環。
感謝任何幫助或建議
在每個環路店的
stop
方法你爲什麼只存儲引用的一個球員,而不是全部?你必須給所有玩家「停止」,而不僅僅是最後一個。 – 2012-04-25 14:33:07在您的代碼中,每次調用循環時,都會創建另一個對象audioPlayer對象。使用ARC,舊對象如果仍在播放,則會一直存在,直到完成。你停止方法不解決。而不是孤立你的對象,你需要跟蹤它們,例如''[audioPlayers_ addObject:newPlayer];'然後用類似'[audioPlayers_ makeObjectsPerformSelector:@selector(stop :)]''來阻止它們。希望這有助於 – 2012-04-25 14:41:20
謝謝!沒有意識到我創造了不止一個球員。 – user1343858 2012-04-25 15:18:52