【发布时间】:2015-09-16 03:39:18
【问题描述】:
我在使用 AudioQueue 播放 PCM 数据时遇到问题。使用 iPhone 的扬声器时音量偏低;我什至把系统音量调到最大。但是,我使用耳机时音量很好。
我像这样将数据插入到队列中:
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的结果了吗?确保它成功。 -
我打印了
AudioQueueSetParameter(mQueue, kAudioQueueParam_Volume, 1.0),结果为0,是不是设置参数失败? @KudoCC -
不,0 表示
noErr。
标签: ios objective-c audioqueue