如何通过插座或框架将音频从iPhone的麦克风流式传输到Mac/PC



如何将音频从iPhone的麦克风流式传输到Mac/PC?是否已经有了一些框架,或者我可以通过套接字发送音频。不过我对插座还是个新手。基本上,我希望能够对着iPhone说话,电脑将接收iPhone的麦克风输入,作为没有麦克风的电脑的麦克风输入。我已经有了一个应用程序,可以快速连接到Mac,它运行着一个非常简单的服务器,iPhone可以向计算机发送文本,但iPhone怎么能向它发送音频,麦克风的实时音频呢?

您需要AVCaptureSession和AVCaptureDevice的组合才能从麦克风中读取内容-请参阅《AV基础编程指南》。http://developer.apple.com/library/ios/#DOCUMENTATION/AVFoundation/Reference/AVCaptureAudioDataOutput_Class/Reference/Reference.html#//apple_ref/occ/cl/AVCaptureAudioDataOutput

链接使用sokets

@interface Client : NSObject {
    NSInputStream *_inputStream;
    NSOutputStream *_outputStream;
}
@implementation Client
- (void)initNetworkCommunication {
    CFReadStreamRef readStream;
    CFWriteStreamRef writeStream;
    CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"localhost", 50000, &readStream, &writeStream);
    _inputStream = (__bridge NSInputStream *)readStream;
    _outputStream = (__bridge NSOutputStream *)writeStream;
    [_inputStream setDelegate:self];
    [_outputStream setDelegate:self];
    [_inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
    [_outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
    [_inputStream open];
    [_outputStream open];
}
// send data to server

- (IBAction)onSendButtonTapped:(id)sender {
    NSString *command = self.commandField.text;
    NSData *data = [[NSData alloc] initWithData:[command dataUsingEncoding:NSUTF8StringEncoding]];
    [_outputStream write:[data bytes] maxLength:[data length]];
}

最新更新