尝试用动画播放声音,但在Xcode中不断出现“Thread 1 Signal SIGABRT”错误

时间:2014-02-18 20:23:27

标签: ios objective-c animation uiimageview

我过去常常使用动画时,我的代码工作得很好。然而,现在我也尝试在动画中添加声音,我已经实现了声音,但是现在每次应用程序运行它关闭并给出 SIGABRT 错误,这里是我的代码:

#import "ViewController.h"

@interface ViewController ()
@end

@implementation ViewController {

}
- (IBAction)Button {

    AudioServicesPlaySystemSound(SoundID);
}    

-(IBAction)startanimating{
    animatedimage.animationImages = [NSArray arrayWithObjects:
                                     [UIImage imageNamed:@"ALambo1.jpg"],
                                     [UIImage imageNamed:@"ALambo2.jpg"],
                                     [UIImage imageNamed:@"ALambo3.jpg"],
                                     [UIImage imageNamed:@"ALambo4.jpg"],
                                     [UIImage imageNamed:@"ALambo5.jpg"],
                                     [UIImage imageNamed:@"ALambo6.jpg"],
                                     [UIImage imageNamed:@"ALambo7.jpg"],
                                     [UIImage imageNamed:@"ALambo8.jpg"],
                                     [UIImage imageNamed:@"ALambo9.jpg"],
                                     [UIImage imageNamed:@"ALambo10.jpg"],
                                     [UIImage imageNamed:@"ALambo11.jpg"],
                                     [UIImage imageNamed:@"ALambo12.jpg"],
                                     [UIImage imageNamed:@"ALambo13.jpg"],
                                     [UIImage imageNamed:@"ALambo14.jpg"],
                                     [UIImage imageNamed:@"ALambo15.jpg"],
                                     [UIImage imageNamed:@"ALambo16.jpg"],
                                     [UIImage imageNamed:@"ALambo17.jpg"],
                                     [UIImage imageNamed:@"ALambo18.jpg"],
                                     [UIImage imageNamed:@"ALambo19.jpg"],
                                     [UIImage imageNamed:@"ALambo20.jpg"],
                                     [UIImage imageNamed:@"ALambo22.jpg"],
                                     [UIImage imageNamed:@"ALambo23.jpg"],
                                     [UIImage imageNamed:@"ALambo24.jpg"],
                                     [UIImage imageNamed:@"ALambo25.jpg"],
                                     [UIImage imageNamed:@"ALambo26.jpg"],
                                     [UIImage imageNamed:@"ALambo52.jpg"],
                                     [UIImage imageNamed:@"ALambo51.jpg"],
                                     [UIImage imageNamed:@"ALambo50.jpg"],
                                     [UIImage imageNamed:@"ALambo49.jpg"],
                                     [UIImage imageNamed:@"ALambo48.jpg"],
                                     [UIImage imageNamed:@"ALambo47.jpg"],
                                     [UIImage imageNamed:@"ALambo46.jpg"],
                                     [UIImage imageNamed:@"ALambo45.jpg"],
                                     [UIImage imageNamed:@"ALambo44.jpg"],
                                     [UIImage imageNamed:@"ALambo43.jpg"],
                                     [UIImage imageNamed:@"ALambo42.jpg"],
                                     [UIImage imageNamed:@"ALambo41.jpg"],
                                     [UIImage imageNamed:@"ALambo40.jpg"],
                                     [UIImage imageNamed:@"ALambo39.jpg"],
                                     [UIImage imageNamed:@"ALambo38.jpg"],
                                     [UIImage imageNamed:@"ALambo37.jpg"],
                                     [UIImage imageNamed:@"ALambo36.jpg"],
                                     [UIImage imageNamed:@"ALambo35.jpg"],
                                     [UIImage imageNamed:@"ALambo34.jpg"],
                                     [UIImage imageNamed:@"ALambo33.jpg"],
                                     [UIImage imageNamed:@"ALambo32.jpg"],
                                     [UIImage imageNamed:@"ALambo31.jpg"],
                                     [UIImage imageNamed:@"ALambo30.jpg"],
                                     [UIImage imageNamed:@"ALambo29.jpg"],
                                     [UIImage imageNamed:@"ALambo28.jpg"], nil];        
    [animatedimage setAnimationRepeatCount:1];
    animatedimage.animationDuration = 1.2;
    [animatedimage startAnimating];        
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSURL *buttonURL = [NSURL fileURLWithPath: [[NSBundle mainBundle] pathForResource:@"SoundRev" ofType:@"m4a"]];        
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)buttonURL, &SoundID);
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

@end

这也是(.h):

#import <UIKit/UIKit.h>
#import <AudioToolbox/AudioToolbox.h>

@interface ViewController : UIViewController
{        
    IBOutlet UIImageView *animatedimage;        
    SystemSoundID SoundID;        
}

-(IBAction)startanimating;

@end

1 个答案:

答案 0 :(得分:0)

我很长一段时间没有使用过AudioServicesCreateSystemSoundID。我建议改用代码来改用AVAudioPlayer。该API更灵活,更易于使用。