4

オーディオをu-lawg.711にエンコードするにはどうすればよいですか。次に、そのオーディオをhttp経由でリモートサーバーに送信します。

オーディオストリーム:現在表示されているカメラにオーディオの連続ストリームを送信します。ベッドサイドのAxisカメラに転送するには、オーディオをG711mu-lawで64kbit/sでエンコードする必要があります。send(これは接続されたサーバーへのSSLのPOST URLである必要があります):POST /transmitaudio?id =コンテンツタイプ:オーディオ/基本コンテンツ長:99999(長さは無視されます)

私はグーグルとここで検索しましたが、ほとんど私が見つけたのはサーバーからIデバイスにストリーミングする方法であり、その逆ではありません。私はこの投稿(http://stackoverflow.com/questions/7750329/how-to-send-audio-file-through-http-post-to-a-server-from-ios)を見つけましたが、答えは気に入っているようですあまり説明的ではなく、それらのいずれも受け入れられていません。

これが私がこれまでに持っているものです。

{
        NSNumber *formatObject;

        switch (self.recordEncoding) {
            case (ENC_AAC): 
                formatObject = [NSNumber numberWithInt: kAudioFormatMPEG4AAC];
                break;
            case (ENC_ALAC):
                formatObject = [NSNumber numberWithInt: kAudioFormatAppleLossless];
                break;
            case (ENC_IMA4):
                formatObject = [NSNumber numberWithInt: kAudioFormatAppleIMA4];
                break;
            case (ENC_ILBC):
                formatObject = [NSNumber numberWithInt: kAudioFormatiLBC];
                break;
            case (ENC_ULAW):
                formatObject = [NSNumber numberWithInt: kAudioFormatULaw];
                break;
            default:
                formatObject = [NSNumber numberWithInt: kAudioFormatAppleIMA4];
        }

        [recordSettings setObject:formatObject forKey: AVFormatIDKey];
        [recordSettings setObject:[NSNumber numberWithFloat:44100.0] forKey: AVSampleRateKey];
        [recordSettings setObject:[NSNumber numberWithInt:2] forKey:AVNumberOfChannelsKey];
        [recordSettings setObject:[NSNumber numberWithInt:12800] forKey:AVEncoderBitRateKey];
        [recordSettings setObject:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
        [recordSettings setObject:[NSNumber numberWithInt: AVAudioQualityHigh] forKey: AVEncoderAudioQualityKey];
    }

これはU-law(したがってエンコードの名前)のように見えますが、オーディオコーデックについては何も知らず、G711mu-lawがiOSでも可能かどうかもわかりません。
オーディオを正しい形式でエンコードするにはどうすればよいですか?

次に、そのエンコードされたオーディオをサーバーに送信する方法は? 現在、一時ファイルの場所に移動していますが、変更しても、それがどのように役立つかわかりません。私はこれがたくさん求められることを知っています、そして私は私に答えを与えられることを望んでいません、しかし私は今これをする方法についてかなり迷っているので私は始める場所が必要です。

4

1 に答える 1

0

これにより、録音が完了した後にオーディオが送信されます

 self.request = [client multipartFormRequestWithMethod:@"POST" path:[NSString stringWithFormat:@"transmitaudio?id=%@",self.restClient.sessionId] parameters:parameters constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) 
                    {
                        NSError * error = [[NSError alloc]init];

                        [formData appendPartWithFileURL:self.audioHandler.soundFileURL name:@"sound.caf" error:&error];
                        //            NSLog(@"error %@", [error localizedDescription]);
                    }];

    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:self.request];

    [self.queue addOperation:operation];
于 2012-05-08T15:11:45.063 に答える