用UIActionSheet播放,暂停,停止音乐

时间:2013-03-10 08:15:23

标签: uiactionsheet audio-player

我是Xcode的新手,我需要一些掌握xcode的经验。 我正在尝试使用UIActionSheet播放,暂停,停止音乐但是当我点击暂停和停止按钮时他们不会停止甚至暂停只有播放按钮工作。可以有人帮我吗? 这是我的代码。

 #import <AVFoundation/AVFoundation.h>
 @interface MainViewController () <UIActionSheetDelegate,AVAudioPlayerDelegate>
 @property(nonatomic,retain)AVAudioPlayer *playAudio;
 @end

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSString *buttonTitle =[actionSheet buttonTitleAtIndex:buttonIndex];
    NSURL *url =[NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/MusicName.mp3",[[NSBundle mainBundle] resourcePath]]];
    NSError *error;

    self.playAudio=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error];

    if (buttonIndex==0) {

        [self.playAudio play];

    }
    if ([buttonTitle isEqualToString:@"Pause"]) {

        [self.playAudio pause];
    }
    if (buttonIndex==2) {
        [self.playAudio stop];
    }
}
- (IBAction)Music:(id)sender {

    UIActionSheet *musicSheet =[[UIActionSheet alloc]initWithTitle:@"Choose" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Play",@"Pause",@"Stop", nil];
    [musicSheet showInView:self.view];


}

。我是越南人,所以我的英语技能会让你很难理解我说的话。感谢您的时间 。我期待着看到你的回复

1 个答案:

答案 0 :(得分:0)

首先:你不应该依赖按钮标题。使用按钮索引来识别按下哪个按钮,这就是它的用途。

第二: 你确定你的按钮索引是对的吗?您可以尝试使用switch语句。

如:

switch (buttonIndex) {
        case 0:
            [self.playAudio play];
            break;
        case 1:
            [self.playAudio pause];
            break;
        case 2:
            [self.playAudio stop];
            break;
        default:
            break;
}