突破到多个循环

时间:2012-04-25 14:30:33

标签: iphone objective-c ios cocoa avaudioplayer

在我的项目中,我有多次从iPhone麦克风录制的录音,我用这段代码循环

-(IBAction)loop1{ 
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:temporaryRecFile error:&error];
    audioPlayer.numberOfLoops = 100; 

[audioPlayer play];

}

并停止使用此代码

-(IBAction)loopstop1{ 

audioPlayer.numberOfLoops = 0; 

[audioPlayer stop];

}

当多个录音循环播放时,这个停止方法只会停止设置为循环的最后一个录音,我想知道是否还有断开所有音频循环,或打破这些特定的循环,因为我是只是设法停止我已经循环的最后一次录音。

感谢您提供任何帮助或建议

1 个答案:

答案 0 :(得分:1)

我会做什么:

  1. 创建NSMutableArray以保留audioPlayer s
  2. AVAudioPlayer个对象添加到数组

    AVAudioPlayer* newLoop = [[AVAudioPlayer alloc] initWithContentsOfURL:temporaryRecFile 
                                                                    error:&error];
    newLoop.numberOfLoops = 100; 
    
    [loopsArray addObject:newLoop];
    
  3. 将索引传递给每个开始/停止功能,以了解启动/停止哪个audioPlayer


  4. 提示要停止所有这些操作,只需在stop loopsArray方法>