1 - (IBAction) record:(id)sender
2 {
3
4 NSError *error = nil;
5 BOOL b = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord error:&error];
6 [[AVAudioSession sharedInstance] setDelegate:self];
7 if(b){
8 NSLog(@"set audio session category record victory%d",b);
9 }else {
10 NSLog(@"error=================%@",error);
11 }
12 b = [[AVAudioSession sharedInstance] setActive:YES error:&error];
13 if(b){
14 NSLog(@"set active yes %d",b);
15 }else {
16 NSLog(@"error=================%@",error);
17 }
18 NSString *filePath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"voice.caf"];
19 //NSLog(@"filePath=========================%@",filePath);
20 self.recordFileName = filePath;
21 NSURL *url = [NSURL fileURLWithPath:filePath];
22
23 AVAudioRecorder *recorder = [[AVAudioRecorder alloc] initWithURL:url settings:recordSettings error:&error];
24 mRecorder = recorder;
25 [recorder setDelegate:self];
26 [recorder prepareToRecord];
27
28 recorder.meteringEnabled = YES;
29
30 BOOL audioHWAvailable = [[AVAudioSession sharedInstance] inputIsAvailable];
31
32 // start recording
33 [recorder recordForDuration:(NSTimeInterval) 3];
34 }




播放相对简单:

 1 - (IBAction) play:(id)sender
2 {
3 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
4 AVAudioSession *audioSession = [AVAudioSession sharedInstance];
5 [[AVAudioSession sharedInstance] setDelegate:self];
6 NSError *error = nil;
7 BOOL b = [audioSession setCategory:AVAudioSessionCategoryPlayback error:&error];
8 // if(b){
9 // NSLog(@"====================%d",b);
10 // }else {
11 // NSLog(@"error=================%@",error);
12 // }
13
14 b = [audioSession setActive:YES error:&error];
15 // if(b){
16 // NSLog(@"====================%d",b);
17 // }else {
18 // NSLog(@"error=================%@",error);
19 // }
20
21 NSURL *url = [NSURL fileURLWithPath:self.recordFileName];
22 //NSLog(@"url============================%@",url);
23 AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
24 player.meteringEnabled = YES;
25 player.volume = 1.0;
26 player.delegate = self;
27 [player prepareToPlay];
28 [player play];
29 [pool release];
30 }



相关文章:

  • 2022-12-23
  • 2021-12-04
  • 2021-10-11
  • 2022-12-23
  • 2021-12-23
  • 2021-12-24
  • 2022-01-01
  • 2021-09-11
猜你喜欢
  • 2021-09-28
  • 2021-12-13
  • 2021-05-21
  • 2021-04-09
  • 2022-01-08
相关资源
相似解决方案