• 首頁
  • 文件
  • 下載
  • 狀態
  • 常見問題
  • 郵件列表
  • 應用程式
  • 外部鏈結
  • 版權
  • 志願者
  • 聯繫

類別:HostApi

音訊驅動介面

類型 使用 成員 說明
建構子 public HostApi(void)
解構子 public ~HostApi(void)
列舉 public Encoding 編碼列表。
資料 public unsigned long baseDeviceIndex 這個音訊驅動介面的開始設備編號。
資料 public HostApiInfo info 音訊驅動介面資訊。
資料 public DeviceInfo ** deviceInfos 音訊驅動介面列表。
函式 public virtual CaError Open (
Stream ** stream ,
const StreamParameters * inputParameters ,
const StreamParameters * outputParameters ,
double sampleRate ,
CaUint32 framesPerCallback ,
CaStreamFlags streamFlags ,
Conduit * streamCallback ) = 0
開啟音訊串流。
函式 public virtual void Terminate (void) = 0 結束使用音訊驅動介面。
函式 public virtual CaError isSupported (
const StreamParameters * inputParameters ,
const StreamParameters * outputParameters ,
double sampleRate ) = 0
是否支援串流格式。
函式 public virtual Encoding encoding (void) const = 0 音訊驅動設備名稱編碼。
函式 public virtual bool hasDuplex (void) const = 0 是否有全雙工功能。
函式 public void setDebugger (Debugger * debug) 設定除錯物件。
函式 public virtual CaError ToHostDeviceIndex (
CaDeviceIndex * hostApiDevice ,
CaDeviceIndex device )
將設備編號轉換到音訊驅動介面當中的設備編號。
資料 protected Debugger * debugger 除錯物件。

說明

音訊驅動介面必須繼承這個類別來實作實際的音訊輸出入操作。

C/C++定義


class HostApi
{
  public:

    typedef enum {
      NATIVE = 0 ,
      UTF8   = 1 ,
      UTF16  = 2 }
      Encoding   ;

    unsigned long   baseDeviceIndex ;
    HostApiInfo     info            ;
    DeviceInfo   ** deviceInfos     ;

    explicit         HostApi     (void) ;
    virtual         ~HostApi     (void) ;

    virtual CaError  Open        (Stream                ** stream            ,
                                  const StreamParameters * inputParameters   ,
                                  const StreamParameters * outputParameters  ,
                                  double                   sampleRate        ,
                                  CaUint32                 framesPerCallback ,
                                  CaStreamFlags            streamFlags       ,
                                  Conduit                * streamCallback    ) = 0 ;
    virtual void     Terminate   (void) = 0 ;
    virtual CaError  isSupported (const  StreamParameters * inputParameters  ,
                                  const  StreamParameters * outputParameters ,
                                  double sampleRate                          ) = 0 ;
    virtual Encoding encoding    (void) const = 0 ;
    virtual bool     hasDuplex   (void) const = 0 ;

    void             setDebugger (Debugger * debug) ;

    virtual CaError  ToHostDeviceIndex               (
                       CaDeviceIndex * hostApiDevice ,
                       CaDeviceIndex   device      ) ;

  protected:

    Debugger * debugger ;

};

typedef CaError HostApiInitializer(HostApi **,CaHostApiIndex) ;
extern HostApiInitializer ** caHostApiInitializers ;
extern void ReplaceHostApiInitializer ( HostApiInitializer ** replacement ) ;