AudioQueueStart有时返回错误代码-50
开始音频记录给错误和下面方法返回错误AudioQueueStart有时返回错误代码-50
错误域= NSOSStatusErrorDomain代码= -50 “(空)” 的UserInfo = 状态= AudioQueueStart(_state.queue , 空值);
其次下面的步骤,用于记录AUDO -
创建用于记录音频数据的新的音频队列。
status = AudioQueueNewInput(&_state.dataFormat, AudioInputCallback, &_state, CFRunLoopGetCurrent(), kCFRunLoopCommonModes, 0, &_state.queue);
设置音频队列属性值。
status = AudioQueueSetProperty(_state.queue,kAudioQueueProperty_EnableLevelMetering,&on,sizeof(on));
音频队列分配一个缓冲区。
status = AudioQueueAllocateBuffer(_state.queue, buffer_size, &_state.buffers[i]);
分配一个缓冲器以用于记录或重放的音频队列。
status = AudioQueueEnqueueBuffer (_state.queue, _state.buffers[i], 0, NULL);
增加了一个侦听器回调的性质。
status = AudioQueueAddPropertyListener(_state.queue, kAudioQueueProperty_IsRunning, recordingRunningChangedCallback, &_state);
开始播放或录制音频。
status = AudioQueueStart(_state.queue, NULL);
而且最后步骤返回错误与
错误代码-50
回答:
中可以发现here,这是AVAudioSessionErrorCodeBadParam
。
显然,您指定的参数之一是无效的或参数丢失。
this帮忙吗?由于在iOS中设置音频相当复杂,我建议您从正在运行的示例代码开始,或遵循一个体面的教程。根据自己的经验,我可以说很容易错过某些东西并得到这样的错误。
祝你好运!
回答:
我刚才有同样的问题。无论出于何种原因,致电AudioQueueStart
两次对我来说都是诀窍:
status = AudioQueueStart(_state.queue, NULL); if (status == -50) {
status = AudioQueueStart(_state.queue, NULL);
}
以上是 AudioQueueStart有时返回错误代码-50 的全部内容, 来源链接: utcz.com/qa/263153.html