我正在处理音频调试功能,并尝试使用Xamarin.iOS获取音频设备的AudioUnit.AudioUnitPropertyIDType.Latency
属性值。遗憾的是,我没有看到相关方法来检索值属性值,如audioUnit.GetParameter
。
虽然我可以使用audioUnit.SetParameter
方法查看并成功设置属性。
我错过了什么吗?
答案 0 :(得分:1)
不是答案,但AudioUnit具有私有的AudioUnitSetProperty方法,该方法以SetAudioFormat,SetCurrentDevice和许多其他方法公开,但不适用于Latency。看起来它没有被Xamarin实现。但你总是可以使用反思;)
public void SetAudioFormat(AudioStreamBasicDescription audioFormat, AudioUnitScopeType scope, uint audioUnitElement = 0U)
{
int k = AudioUnit.AudioUnitSetProperty(this.handle, AudioUnitPropertyIDType.StreamFormat, scope, audioUnitElement, ref audioFormat, (uint) Marshal.SizeOf<AudioStreamBasicDescription>(audioFormat));
if (k != 0)
throw new AudioUnitException(k);
}