2011-04-17 79 views
0

錄製聲音時出現以下控制檯錯誤。任何想法我做錯了什麼?錄音工作,除了輸出是非常軟的。錄製音頻時xCode控制檯出錯

TIA

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"); 
} 
+0

你應該發佈一些代碼,最好是在NSLog(@「開始錄製」)之前出現的內容;' – esqew 2011-04-17 22:07:12

+0

嗨,謝謝你的迴應。我已更新我的文章以包含相關的代碼片段。隨着audioPlayer和audioRecorder的問題出現,我使用了audioPlayer片段,因爲它更短。 – 2011-04-19 11:42:23

回答

1

我見過這些警告之前,發生了什麼事情你是否複製了另一個較老的項目?如果是這樣,我就是這麼做的,我只是用最新版本的Xcode創建了一個新的空白項目,然後開始將舊的文件複製到它。

這似乎清除了這些錯誤。

+0

謝謝hokkuk。我會嘗試你的解決方案.. – 2011-05-05 10:46:16