Звук не работает в устройстве - PullRequest
1 голос
/ 06 августа 2009

В моем приложении я пишу для записи

    NSArray *filePaths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *recordingDirectory = [filePaths objectAtIndex: 0];
    NSString *resourcePath = [recordingDirectory  stringByAppendingString:@"/sound.caf"];
    self.soundFileURL = [NSURL fileURLWithPath:resourcePath];


 AVAudioSession *audioSession = [AVAudioSession sharedInstance];

 audioSession.delegate = self;

 [audioSession setActive: YES error: nil];

 [[AVAudioSession sharedInstance] setCategory : AVAudioSessionCategoryRecorderror: nil];

 NSDictionary *recordSettings =

 [[NSDictionary alloc] initWithObjectsAndKeys:

  [NSNumber numberWithFloat: 44100.0],                 AVSampleRateKey,

  [NSNumber numberWithInt: kAudioFormatAppleLossless], AVFormatIDKey,

  [NSNumber numberWithInt: 1],                         AVNumberOfChannelsKey,

  [NSNumber numberWithInt: AVAudioQualityMax],         AVEncoderAudioQualityKey,

  nil];


AVAudioRecorder *newRecorder = [[AVAudioRecorder alloc] initWithURL: soundFileURL settings: recordSettings error: nil];

 [recordSettings release];

 self.soundRecorder = newRecorder;

 [newRecorder release];



 soundRecorder.delegate = self;

 [soundRecorder prepareToRecord];

 [soundRecorder record];



recording = YES;

пишу для остановки записи

 [soundRecorder stop];

recording = NO;

self.soundRecorder = nil;

Я пишу для кнопки воспроизведения

 AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: self.soundFileURL  error: nil];

 [fileURL release];

 self.player = newPlayer;

 [newPlayer release];

 [player prepareToPlay];

 [player setDelegate: self];

    [button setTitle : @"Pause"forState: UIControlStateHighlighted];

    [button setTitle : @"Pause"forState: UIControlStateNormal];

    [player play];

В iPhone Simulator все ок

Я записываю, затем останавливаю, затем играю и все работает нормально.

Но в моем устройстве iPhone нет звука. Любая помощь будет принята с благодарностью

1 Ответ

2 голосов
/ 27 сентября 2009

У меня была похожая проблема.Затем я установил категорию AudioSession для воспроизведения:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...