2013-12-11 85 views
0

我正嘗試從C#調用Windows核心音頻。我知道我可以使用NAudio和NetCoreAudio。是否有用於Windows核心音頻的COM類型庫

但是我想獲得或生成Windows核心音頻庫AudioSes.dll和MMDeviceApi.dll類型庫,並將其導入到我的項目

我已經試過Tlbexp,TLBIMP和RegAsm。 dll似乎不包含類型信息。如果它不在這些dll中,我可以在哪裏找到它。

任何想法?

任何幫助將不勝感激。

回答

0

沒有類型庫來保存關於MMDevice API接口的信息。本機代碼的應用程序使用的定義這些接口的Windows SDK頭,而C#應用程序必須有自己的私人代碼定義,如在n音訊源,IAudioClient.cs

namespace NAudio.CoreAudioApi.Interfaces 
{ 
    /// <summary> 
    /// n.b. WORK IN PROGRESS - this code will probably do nothing but crash at the moment 
    /// Defined in AudioClient.h 
    /// </summary> 
    [Guid("1CB9AD4C-DBFA-4c32-B178-C2F568A703B2"), 
     InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 
    internal interface IAudioClient 
    { 
     [PreserveSig] 
     int Initialize(AudioClientShareMode shareMode, 
      AudioClientStreamFlags StreamFlags, 
      long hnsBufferDuration, // REFERENCE_TIME 
      long hnsPeriodicity, // REFERENCE_TIME 
      [In] WaveFormat pFormat, 
      [In] ref Guid AudioSessionGuid);