Есть ли способ отключить функцию записи звука в iPhone? - PullRequest
0 голосов
/ 22 сентября 2011

Я делаю приложение VoIP для iPhone.Требуется запретить любую форму аудиозаписи по соображениям безопасности.Возможно ли это сделать?Если да, то как это сделать?Большое спасибо!

Редактировать: приложение не для взломанных iPhone.Тем не менее, частные рамки допустимы.

1 Ответ

0 голосов
/ 22 сентября 2011

в вашем .h файле -

#import <AVFoundation/AVFoundation.h>

@interface recordViewController : UIViewController
        <AVAudioRecorderDelegate, AVAudioPlayerDelegate>
{
    AVAudioRecorder *audioRecorder;
    UIButton *playButton;
    UIButton *recordButton;
    UIButton *stopButton;
}
@property (nonatomic, retain) IBOutlet UIButton *playButton;
@property (nonatomic, retain) IBOutlet UIButton *recordButton;
@property (nonatomic, retain) IBOutlet UIButton *stopButton;

В вашем .m файле -

- (void)viewDidLoad {
   [super viewDidLoad];
   playButton.enabled = NO;
   stopButton.enabled = NO;

   NSArray *dirPaths;
   NSString *docsDir;

   dirPaths = NSSearchPathForDirectoriesInDomains(
        NSDocumentDirectory, NSUserDomainMask, YES);
   docsDir = [dirPaths objectAtIndex:0];
   NSString *soundFilePath = [docsDir
       stringByAppendingPathComponent:@"sound.caf"];

   NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];

   NSDictionary *recordSettings = [NSDictionary 
            dictionaryWithObjectsAndKeys:
            [NSNumber numberWithInt:AVAudioQualityMin],
            AVEncoderAudioQualityKey,
            [NSNumber numberWithInt:16], 
            AVEncoderBitRateKey,
            [NSNumber numberWithInt: 2], 
            AVNumberOfChannelsKey,
            [NSNumber numberWithFloat:44100.0], 
            AVSampleRateKey,
            nil];

  NSError *error = nil;

  audioRecorder = [[AVAudioRecorder alloc]
                  initWithURL:soundFileURL
                  settings:recordSettings
                  error:&error];
  [audioRecorder stop];
}

Последняя строка [audioRecorder stop] будет следить за тем, чтобы запись звука была остановлена.Вы можете сделать что-то похожее на ваше приложение ..

...