我在使用AudioQueue播放PCM数据时遇到问题。使用iPhone扬声器时音量较低;我甚至将系统音量调到最大。但是,当我使用耳机时,音量很好。AudioQueue音量太低
我插入的数据到队列是这样的:
memcpy(mBuffers[mIndex]->mAudioData, pcmData, mBufferByteSize);
mBuffers[mIndex]->mAudioDataByteSize = mBufferByteSize;
mBuffers[mIndex]->mPacketDescriptionCount = mBufferByteSize/2;
OSStatus status = AudioQueueEnqueueBuffer(mQueue, mBuffers[mIndex], 0, NULL);
NSLog(@"fill audio queue buffer[%d]",mIndex);
if(mIndex == kNumberBuffers - 1) {
isStartPlay = YES;
mIndex = 0;
AudioQueueSetParameter(mQueue, kAudioQueueParam_Volume, 1.0);
status = AudioQueueStart(mQueue, NULL);
}else {
mIndex++;
}
我已经设置了音量这样的:
AudioQueueSetParameter(mQueue, kAudioQueueParam_Volume, 1.0);
你是否检查'AudioQueueSetParameter'的结果呢?确保它成功。 – KudoCC
我打印出'AudioQueueSetParameter(mQueue,kAudioQueueParam_Volume,1.0)',其结果为0.是否意味着它未能设置参数? @KudoCC – jojoT
不,0表示'noErr'。 – KudoCC