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

類別:Conduit

音訊資料導流管

類型 使用 成員 說明
建構子 public Conduit(void)
解構子 public ~Conduit(void)
資料 public StreamIO Input 音訊輸入介面。
資料 public StreamIO Output 音訊輸出介面。
資料 public CacInputFunction inputFunction 音訊輸入函式。
資料 public CacOutputFunction outputFunction 音訊輸出函式。
函式 public virtual int obtain (void) = 0 供應音訊驅動介面數據。
函式 public virtual int put (void) = 0 音訊驅動介面輸入數據。
函式 public virtual void finish (
ConduitDirection direction = NoDirection ,
FinishCondition condition = Correct ) = 0
音訊串流結束。
函式 protected virtual void LockConduit (void) obtain或put之前會呼叫這個函式。
函式 protected virtual void UnlockConduit (void) obtain或put之後會呼叫這個函式。
函式 protected virtual int ObtainByFunction (void) 透過函式取得音訊數據。
函式 protected virtual int PutByFunction (void) 透過函式輸入音訊數據。

說明

音訊導流管,大部分的應用程式需要透過繼承這個類別來實作音訊處理。

C/C++定義


class Conduit
{
  public:

    typedef enum CallBackResult   {
      Continue = 0                ,
      Complete = 1                ,
      Abort    = 2                ,
      Postpone = 3                }
      CallBackResult              ;

    typedef enum ConduitDirection {
      NoDirection     = 0         ,
      InputDirection  = 1         ,
      OutputDirection = 2         }
      ConduitDirection            ;

    typedef enum FinishCondition  {
      Correct      = 0            ,
      Abortion     = 1            ,
      Interruption = 2            ,
      Accident     = 3            }
      FinishCondition             ;

    StreamIO          Input          ;
    StreamIO          Output         ;
    CacInputFunction  inputFunction  ;
    CacOutputFunction outputFunction ;

    explicit     Conduit          (void) ;
    virtual     ~Conduit          (void) ;

    virtual int  obtain           (void) = 0 ;
    virtual int  put              (void) = 0 ;
    virtual void finish           (ConduitDirection direction = NoDirection   ,
                                   FinishCondition  condition = Correct ) = 0 ;

    virtual void LockConduit      (void) ;
    virtual void UnlockConduit    (void) ;

  protected:

    virtual int  ObtainByFunction (void) ;
    virtual int  PutByFunction    (void) ;

};