public float GetFeature(AudioFeaturesFlags flag) { fixed(float *fptr = &this.featureData[0]) { NativeMethodsx64.RetrieveFeaturesf(this.nativePointer, new IntPtr(fptr), flag); } return(this.featureData[0]); }
public Dictionary <AudioFeaturesFlags, float> GetFeatures(AudioFeaturesFlags flags) { Dictionary <AudioFeaturesFlags, float> result = new Dictionary <AudioFeaturesFlags, float>(); fixed(float *fptr = &this.featureData[0]) { NativeMethodsx64.RetrieveFeaturesf(this.nativePointer, new IntPtr(fptr), flags); } int offset = 0; int feature = 1; for (int i = 0; i < 11; i++) { AudioFeaturesFlags f = (AudioFeaturesFlags)feature; if (flags.HasFlag(f)) { result.Add(f, this.featureData[offset]); offset++; } feature *= 2; } return(result); }