相关疑难解决方法(0)

使用音频队列服务将数据录制到数据

我想将语音从一个iPhone传输到另一个iPhone.我已经使用TCP建立了两个iPhone之间的连接,我已经设法在iPhone上录制语音并使用音频队列服务播放它.我还设法在两个iPhone之间发送数据.我这样做是通过发送NSData包.

我的下一步是将音频数据发送到正在录制的其他iPhone.我相信我应该这样做AudioInputCallback.我AudioQueueBufferRef被调用inBuffer,似乎我想转换inBuffer->mAudioData为NSData,然后将NSData发送到另一个设备,然后解压缩它.

有谁知道这是否是这样做的方式以及如何将我转换inBuffer->mAudioData为NSData?其他方法也受到欢迎.

这是我的回调方法,我相信我应该"抓住"数据并将其发送到其他iPhone:

void AudioInputCallback(void *inUserData, AudioQueueRef inAQ, AudioQueueBufferRef inBuffer, const AudioTimeStamp *inStartTime, UInt32 inNumberPacketDescriptions, const AudioStreamPacketDescription *inPacketDescs)
{
    RecordState *recordState = (RecordState *)inUserData;
    if(!recordState->recording)
        return;

    OSStatus status = AudioFileWritePackets(recordState->audioFile,
                                            false,
                                            inBuffer->mAudioDataByteSize,
                                            inPacketDescs,
                                            recordState->currentPacket,
                                            &inNumberPacketDescriptions,
                                            inBuffer->mAudioData);
    if(status == 0)
    {
        recordState->currentPacket += inNumberPacketDescriptions;
    }

    AudioQueueEnqueueBuffer(recordState->queue, inBuffer, 0, NULL);
}
Run Code Online (Sandbox Code Playgroud)

iphone audio recording audioqueueservices nsdata

5
推荐指数
1
解决办法
2614
查看次数

stream media FROM iphone

I need to stream audio from the mic to a http server.
These recording settings are what I need:

NSDictionary *audioOutputSettings = [NSDictionary dictionaryWithObjectsAndKeys:
                                             [NSNumber numberWithInt: kAudioFormatULaw],AVFormatIDKey,        
                                             [NSNumber numberWithFloat:8000.0],AVSampleRateKey,//was 44100.0
                                             [NSData dataWithBytes: &acl length: sizeof( AudioChannelLayout ) ], AVChannelLayoutKey,
                                             [NSNumber numberWithInt:1],AVNumberOfChannelsKey,
                                             [NSNumber numberWithInt:64000],AVEncoderBitRateKey,
                                             nil];
Run Code Online (Sandbox Code Playgroud)

API im coding to states:

Send a continuous stream of audio to the currently viewed camera. Audio needs to be encoded at G711 mu-law at 64 kbit/s for transfer to the Axis camera at the bedside. …

audio-streaming ios

5
推荐指数
1
解决办法
5915
查看次数