Ошибки консоли xCode при записи аудио - PullRequest
0 голосов
/ 17 апреля 2011

При записи звука появляются следующие ошибки консоли. Есть идеи, что я делаю не так? Записи работают, за исключением того, что выходы действительно мягкие.

ТИА

2011-04-17 12:51:25.707 FlashCards[18561:1210f] Cannot find executable for CFBundle/CFPlugIn 0x5a64780 </Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin> (not loaded)
2011-04-17 12:51:25.708 FlashCards[18561:1210f] Cannot find function pointer NewPlugIn for factory C5A4CE5B-0BB8-11D8-9D75-0003939615B6 in CFBundle/CFPlugIn 0x5a64780 </Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin> (not loaded)
2011-04-17 12:51:25.712 FlashCards[18561:1210f] Cannot find executable for CFBundle/CFPlugIn 0x5c69e90 </Library/Audio/Plug-Ins/HAL/iSightAudio.plugin> (not loaded)
2011-04-17 12:51:25.713 FlashCards[18561:1210f] Cannot find function pointer iSightAudioNewPlugIn for factory 9BE7661E-8AEF-11D7-8692-000A959F49B0 in CFBundle/CFPlugIn 0x5c69e90 </Library/Audio/Plug-Ins/HAL/iSightAudio.plugin> (not loaded)
2011-04-17 12:51:25.729 FlashCards[18561:c503] start recording

По запросу я добавляю код:

.h фрагмент файла:

#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
#import <CoreAudio/CoreAudioTypes.h>
#import <AudioToolbox/AudioToolbox.h>

@protocol BackViewControllerDelegate;


@interface BackViewController : UIViewController <UITextViewDelegate, AVAudioRecorderDelegate, AVAudioPlayerDelegate, UIAlertViewDelegate>
{
AVAudioRecorder *audioRecorder;
AVAudioPlayer *audioPlayer;
IBOutlet UIButton *playButton;
IBOutlet UIButton *recordButton;
IBOutlet UIActivityIndicatorView *autoCog;
BOOL toggle;
}

@property (nonatomic, retain) IBOutlet UIButton *playButton;
@property (nonatomic, retain) IBOutlet UIButton *recordButton;
@property (nonatomic, retain) IBOutlet UIActivityIndicatorView *autoCog;

-(IBAction) recordAudio;
-(IBAction) playAudio;

.m фрагмент

@synthesize playButton; 
@synthesize recordButton;
@synthesize autoCog;

- (void)viewWillAppear:(BOOL)animated {
    NSLog(@"%s", __FUNCTION__);
    [super viewWillAppear:animated];

    //Start the toggle in false mode. PREMISE: WHEN WE GET HERE FIRST, WE ARE NOT RECORDING
    toggle = NO;

    NSError *error = nil;

    //Instantiate an instance of the AVAudioSession object.
    AVAudioSession * audioSession = [AVAudioSession sharedInstance];

    [audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error: &error];

    //Activate the session
    [audioSession setActive:YES error: &error];
}

-(void) playAudio
{
    NSLog(@"%s", __FUNCTION__);

    if (audioPlayer.playing) {
        [audioPlayer stop];
    }

    if (toggle == NO)
    {
        recordButton.enabled = NO;        
        if (audioPlayer)
            [audioPlayer release];
        NSError *error;

        // GET THE APPROPRIATE SOUND FILE NAME
.....

        //CHECK FOR EXISTING SOUNDFILE

        if (![[NSFileManager defaultManager] fileExistsAtPath:soundFilePath])
        {
            UIAlertView *someError = [[UIAlertView alloc] initWithTitle: @"Oops!" message: @"There is not a sound for this word. Press REC to record one. Press cancel to stop" delegate: self 
                                                      cancelButtonTitle: @"REC" otherButtonTitles:@"CANCEL", nil];

            [someError show];
            [someError release]; 
        }


        NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];

        AudioSessionSetProperty (
                                 kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,
                                 sizeof (doChangeDefaultRoute),
                                 &doChangeDefaultRoute
                                 );

        audioPlayer = [[AVAudioPlayer alloc] 
                       initWithContentsOfURL:soundFileURL                                    
                       error:&error];
        audioPlayer.volume = 1.0;
        audioPlayer.delegate = self;

        if (error){
            NSLog(@"Error: %@", 
                  [error localizedDescription]);
        }
        else
        {    
            [audioPlayer play];

        }
    }
    recordButton.enabled = YES;
    //NSLog(@"end of playAudio");
}

1 Ответ

1 голос
/ 05 мая 2011

Я видел эти предупреждения раньше, что происходит, если вы скопировали другой более старый проект? если это так, я просто создал новый пустой проект с новейшей версией Xcode, а затем начал копировать в него старые файлы.

это, похоже, убирает эти ошибки.

...