gpt4 book ai didi

ios - 使用 AudioQueue 播放 PCM 音频流音量小

转载 作者:行者123 更新时间:2023-11-29 01:39:08 24 4
gpt4 key购买 nike

我在使用 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);

最佳答案

您使用的是 AVAudioSessionCategoryPlayAndRecord Audio Session 类别吗?如果是这样,那么您可能正在通过非常安静的接收器播放。

这种奇怪的默认行为可以追溯到人们认为播放和录音类别主要对 VOIP 应用程序有用的日子,更奇怪的是,这些应用程序在 AppStore 中被禁止。

要通过普通扬声器覆盖播放,请尝试将 AVAudioSessionCategoryOptionDefaultToSpeaker 添加到您的类别选项中:

[session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];

关于ios - 使用 AudioQueue 播放 PCM 音频流音量小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32621505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com