/// <summary> /// Suggests an appropriate PCM format that the compressed format can be converted /// to in one step /// </summary> /// <param name="compressedFormat">The compressed format</param> /// <returns>The PCM format</returns> // Token: 0x060007D0 RID: 2000 RVA: 0x00016DD0 File Offset: 0x00014FD0 public static WaveFormat SuggestPcmFormat(WaveFormat compressedFormat) { WaveFormat waveFormat = new WaveFormat(compressedFormat.SampleRate, 16, compressedFormat.Channels); MmException.Try(AcmInterop.acmFormatSuggest(IntPtr.Zero, compressedFormat, waveFormat, Marshal.SizeOf(waveFormat), AcmFormatSuggestFlags.FormatTag), "acmFormatSuggest"); return(waveFormat); }
/// <summary> /// Suggests an appropriate PCM format that the compressed format can be converted /// to in one step /// </summary> /// <param name="compressedFormat">The compressed format</param> /// <returns>The PCM format</returns> public static WaveFormat SuggestPcmFormat(WaveFormat compressedFormat) { // create a PCM format WaveFormat suggestedFormat = new WaveFormat(compressedFormat.SampleRate, 16, compressedFormat.Channels); MmException.Try(AcmInterop.acmFormatSuggest(IntPtr.Zero, compressedFormat, suggestedFormat, Marshal.SizeOf(suggestedFormat), AcmFormatSuggestFlags.FormatTag), "acmFormatSuggest"); /*IntPtr suggestedFormatPointer = WaveFormat.MarshalToPtr(suggestedFormat); * IntPtr compressedFormatPointer = WaveFormat.MarshalToPtr(compressedFormat); * MmResult result = AcmInterop.acmFormatSuggest2(IntPtr.Zero, compressedFormatPointer, suggestedFormatPointer, Marshal.SizeOf(suggestedFormat), AcmFormatSuggestFlags.FormatTag); * suggestedFormat = WaveFormat.MarshalFromPtr(suggestedFormatPointer); * Marshal.FreeHGlobal(suggestedFormatPointer); * Marshal.FreeHGlobal(compressedFormatPointer); * MmException.Try(result, "acmFormatSuggest");*/ return(suggestedFormat); }