0

我正在制作一个音板应用程序,我正在使用持续时间超过 30 秒的声音。我通过在 IB 中将我的动作与“触地”事件连接来播放声音,但是一旦开始声音就会继续播放。我在某个按钮中连接了一个“触摸取消”和“触摸外部”事件,该事件应该停止声音,但由于某种原因它没有。任何人都可以为我的问题提供解决方案吗?

---编辑---这是我的代码:

-(IBAction)playSound:(id)sender {
     NSString *soundFile;
    soundFile = [[NSBundle mainBundle] pathForResource:@"testSound" ofType:@"mp3"];
    audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:soundFile] error:nil];
    audioPlayer.volume = volumeSlider.value;
    audioPlayer.numberOfLoops = -1;
    [audioPlayer prepareToPlay];
    [audioPlayer play];
}

-(IBAction)stopSound:(id)sender {
    [audioPlayer stop];
}
4

2 回答 2

1

我所做的是按下一个按钮(执行我的动作的那个),我钩住了这个动作 1.) Touch Down 2.) Touch Drag Enter

要关闭按钮(取消操作),我添加到按钮 - 1.) Touch Up Inside 2.) Touch Up Outside 3.) Touch Cancel 4.) Touch Drag Exit

于 2012-10-19T04:55:43.243 回答
0

“Touch up outside”是指当按钮被按下并且用户的手指在控件之外移动和抬起时。

听起来您正在寻找“ Touch up inside ”活动。

但是,为了确定起见,您应该发布用于启动和停止声音的代码。

于 2012-10-10T23:43:13.400 回答