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

類別:StreamIO

音訊串流輸出入介面

類型 使用 成員 說明
建構子 public StreamIO(void)
解構子 public ~StreamIO(void)
資料 public void * Buffer 資料交換區。
資料 public int BytesPerSample 每個樣本的位元組數量。
資料 public unsigned long FrameCount 取樣數。
資料 public unsigned long MaxSize
資料 public unsigned long StatusFlags 目前狀態。
資料 public CaTime CurrentTime 目前時間。
資料 public CaTime AdcDac 數據時間。
資料 public FlowSituation Situation 目前處理狀況。
函式 public void Reset (void) 歸零。
函式 public long long Total (void) FrameCount * BytesPerSample
函式 public bool isNull (void) NULL == Buffer
函式 public int setSample (CaSampleFormat format,int channels) 計算BytesPerSample

說明

音訊串流輸出入介面是CIOS Audio Core介面當中,頂層使用介面與底層音訊驅動介面的資料交換主要介面。

C/C++定義


class StreamIO
{
  public:

    typedef enum FlowSituation     {
      Stagnated = 0                ,
      Started   = 1                ,
      Stalled   = 2                ,
      Completed = 3                ,
      Ruptured  = 4                }
    FlowSituation                  ;

    typedef enum CallbackFlags     {
      InputUnderflow  = 0x00000001 ,
      InputOverflow   = 0x00000002 ,
      OutputUnderflow = 0x00000004 ,
      OutputOverflow  = 0x00000008 ,
      PrimingOutput   = 0x00000010 }
      CallbackFlags                ;

    void        * Buffer         ;
    int           BytesPerSample ;
    unsigned long FrameCount     ;
    unsigned long MaxSize        ;
    unsigned long StatusFlags    ;
    CaTime        CurrentTime    ;
    CaTime        AdcDac         ;
    FlowSituation Situation      ;

    explicit  StreamIO  (void) ;
    virtual  ~StreamIO  (void) ;

    void      Reset     (void) ;
    long long Total     (void) ;
    bool      isNull    (void) ;
    int       setSample (CaSampleFormat format,int channels) ;

};