У кого-нибудь есть какой-нибудь пример кода для ПРОСТРАНСТВЕННОГО диктофона для Mac OS X? Я просто хотел бы записать свой голос, исходящий из внутреннего микрофона на моем MacBook Pro, и сохранить его в файл. Это все.
Я искал часы, и да, есть несколько примеров, которые запишут голос и сохранят его в файл, такой как http://developer.apple.com/library/mac/#samplecode/MYRecorder/Introduction/Intro.html. Пример кода для Mac OS X выглядит примерно в 10 раз сложнее, чем аналогичный пример кода для iPhone.
Для iOS команды так же просты:
soundFile =[NSURL FileURLWithPath:[tempDir stringByAppendingString:@"mysound.cap"]];
soundSetting = [NSDictionary dictionaryWithObjectsAndKeys: // dictionary setting code left out goes here
soundRecorder = [[AVAudioRecorder alloc] initWithURL:soundFile settings:soundSetting error:nil];
[soundRecorder record];
[soundRecorder stop];
Я думаю, что для Mac OS X есть код, который будет таким же простым, как и версия для iPhone. Спасибо за вашу помощь.
Вот код (в данный момент плеер не будет работать)
#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>
@interface MyAVFoundationClass : NSObject <AVAudioPlayerDelegate>
{
AVAudioRecorder *soundRecorder;
}
@property (retain) AVAudioRecorder *soundRecorder;
-(IBAction)stopAudio:(id)sender;
-(IBAction)recordAudio:(id)sender;
-(IBAction)playAudio:(id)sender;
@end
#import "MyAVFoundationClass.h"
@implementation MyAVFoundationClass
@synthesize soundRecorder;
-(void)awakeFromNib
{
NSLog(@"awakeFromNib visited");
NSString *tempDir;
NSURL *soundFile;
NSDictionary *soundSetting;
tempDir = @"/Users/broncotrojan/Documents/testvoices/";
soundFile = [NSURL fileURLWithPath: [tempDir stringByAppendingString:@"test1.caf"]];
NSLog(@"soundFile: %@",soundFile);
soundSetting = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithFloat: 44100.0],AVSampleRateKey,
[NSNumber numberWithInt: kAudioFormatMPEG4AAC],AVFormatIDKey,
[NSNumber numberWithInt: 2],AVNumberOfChannelsKey,
[NSNumber numberWithInt: AVAudioQualityHigh],AVEncoderAudioQualityKey, nil];
soundRecorder = [[AVAudioRecorder alloc] initWithURL: soundFile settings: soundSetting error: nil];
}
-(IBAction)stopAudio:(id)sender
{
NSLog(@"stopAudioVisited");
[soundRecorder stop];
}
-(IBAction)recordAudio:(id)sender
{
NSLog(@"recordAudio Visited");
[soundRecorder record];
}
-(IBAction)playAudio:(id)sender
{
NSLog(@"playAudio Visited");
NSURL *soundFile;
NSString *tempDir;
AVAudioPlayer *audioPlayer;
tempDir = @"/Users/broncotrojan/Documents/testvoices/";
soundFile = [NSURL fileURLWithPath: [tempDir stringByAppendingString:@"test1.caf"]];
NSLog(@"soundFile: %@", soundFile);
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFile error:nil];
[audioPlayer setDelegate:self];
[audioPlayer play];
}
@end