我过去常常使用动画时,我的代码工作得很好。然而,现在我也尝试在动画中添加声音,我已经实现了声音,但是现在每次应用程序运行它关闭并给出 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
答案 0 :(得分:0)
我很长一段时间没有使用过AudioServicesCreateSystemSoundID。我建议改用代码来改用AVAudioPlayer。该API更灵活,更易于使用。