如何在我的应用程序上录制语音,然后将其发送到服务器?

时间:2011-10-25 11:49:05

标签: iphone objective-c voice

我正在尝试构建一个能够在我的iPhone上录制语音(麦克风)的应用程序, 然后将它们发送到我的服务器上。

任何人都可以帮助我这个。 我甚至不知道从哪里开始:)

非常感谢, 奥德。

2 个答案:

答案 0 :(得分:1)

  1. 只需谷歌“如何录制iphone”就可以在几秒钟内完成。

  2. 录制完成后,文件将在您的“文档”文件夹中创建。

  3. 检索该路径并在NSData中提取数据并通过POST方法发送到服务器。

  4. 示例代码,

    NSLog(@"SendingRecordedData");
        NSString *urlString = [NSString stringWithFormat:@"http://your_server/fileupload.php"];
        NSLog(@"Url:%@",urlString);
    
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    [request setURL:[NSURL URLWithString:urlString]];
    [request setHTTPMethod:@"POST"];
    
    NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
    
    NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
    [request addValue:contentType forHTTPHeaderField: @"Content-Type"];
    
    NSMutableData *body = [NSMutableData data];
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];    
    [body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"pics\"; filename=\"record.caf\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    
    
    
    [body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    
    
    [body appendData:[NSData dataWithData:data2]];
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    
    [request setHTTPBody:body];
    NSError *err;
    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&err];
    NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
    

答案 1 :(得分:0)

在iOS开发者网站上有一些带有录制的示例代码 - SpeakHere。录制完成后,您可以将其保存并以任何二进制文件形式发送。