IOS:AVAudioPlayer停止播放

时间:2012-03-24 20:31:35

标签: ios xcode avaudioplayer

我有这段代码:

NSString *path = [NSString stringWithFormat:@"%@/%@",
                  [[NSBundle mainBundle] resourcePath],
                  @"change.mp3"];
NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];
change = [[AVAudioPlayer alloc] initWithContentsOfURL:filePath error:nil];
[change prepareToPlay]; 

我在viewdidload中写了这段代码; 现在有一个按钮,我开始发出这个声音,但是如果我按下相同的按钮,我想停止这个声音并重新启动声音;我在IBAction中尝试此代码,但它不起作用

[change stop];
[change prepareToPlay];
[change play];

我该怎么办?

3 个答案:

答案 0 :(得分:12)

这个怎么样:

[change pause];
change.currentTime = 0.0;
[change play];

答案 1 :(得分:1)

方法-stop的{​​{3}}说:

  

stop方法不会将currentTime属性的值重置为0.换句话说,如果在播放期间调用stop然后调用play,则播放将从其停止的位置恢复。

因此,您必须使用属性currentTime并将其设置为0

[change pause];
[change setCurrentTime:0];
[change play];

答案 2 :(得分:0)

您是否尝试重新初始化?我的意思是第一个[change release]并初始化它。