向 UIAlertView 添加声音的最正确方法是什么?
我应该对它进行子类化,然后在视图出现时播放系统声音吗?
或者更正确的是,不是子类化而是调用一个单独的方法来在声音出现时播放它?
谁能推荐一个播放声音并且看起来比 UIAlertView 更漂亮的控件?
向 UIAlertView 添加声音的最正确方法是什么?
我应该对它进行子类化,然后在视图出现时播放系统声音吗?
或者更正确的是,不是子类化而是调用一个单独的方法来在声音出现时播放它?
谁能推荐一个播放声音并且看起来比 UIAlertView 更漂亮的控件?
你可以通过使用AVAudioPlayer
下面的代码来实现这一点: -
UIAlertView
在 .h 文件中设置 dalagete,如:-
@interface ViewController : UIViewController <UIAlertViewDelegate>
在 .m 文件中
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/foo.mp3", [[NSBundle mainBundle] resourcePath]]];
NSError *error;
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"message" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = 1;
[audioPlayer play];
[alert show];
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex==0) {
[audioPlayer stop];
}
}
编辑
注意: -不要忘记添加AVAudio framework
并且如果您希望播放声音直到不按下按钮UIAlertView
然后设置audioPlayer.numberOfLoops = -1;