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

類別:Stream

音訊串流介面。

類型 使用 成員 說明
建構子 public Stream(void)
解構子 public ~Stream(void)
資料 public CaUint32 magic 辨識碼。
資料 public int structVersion 結構版本。
資料 public CaTime inputLatency 音訊輸入延遲。
資料 public CaTime outputLatency 音訊輸出延遲。
資料 public double sampleRate 音訊取樣率。
資料 public Stream * next 下一個音訊串流。
資料 public Conduit * conduit 音訊導流管。
資料 public Debugger * debugger 除錯物件。
函式 public void Terminate (void) 終結這個音訊串流。
函式 public bool isValid (void) const 判斷這個音訊串流是否正確。
函式 public virtual CaError Start (void) = 0 啟動音訊串流。
函式 public virtual CaError Stop (void) = 0 停止音訊串流。
函式 public virtual CaError Close (void) = 0 關閉音訊串流。
函式 public virtual CaError Abort (void) = 0 中止音訊串流。
函式 public virtual CaError IsStopped (void) = 0 音訊串流是否已經中止?
函式 public virtual CaError IsActive (void) = 0 音訊串流是否還在運作?
函式 public virtual CaTime GetTime (void) = 0 音訊串流的時間。
函式 public virtual double GetCpuLoad (void) = 0 音訊串流負載。
函式 public virtual CaInt32 ReadAvailable (void) = 0 音訊串流可讀取數量 。
函式 public virtual CaInt32 WriteAvailable (void) = 0 音訊串流可寫入數量 。
函式 public virtual CaError Read (void * buffer,unsigned long frames) = 0 讀取音訊串流 。
函式 public virtual CaError Write (const void * buffer,unsigned long frames) = 0 寫入音訊串流 。
函式 public virtual bool hasVolume (void) = 0 是否有音量控制?
函式 public virtual CaVolume MinVolume (void) = 0 最小音量數值 。
函式 public virtual CaVolume MaxVolume (void) = 0 最大音量數值 。
函式 public virtual CaVolume Volume (int atChannel = -1) = 0 音量 。
函式 public virtual CaVolume setVolume (CaVolume volume,int atChannel = -1) = 0 設定音量 。

說明

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

C/C++定義

class Stream

{
  public:

    enum                                        {
      FramesPerBufferUnspecified = 0            ,
      STREAM_MAGIC               = 0x18273645 } ;

    CaUint32   magic         ;
    int        structVersion ;
    CaTime     inputLatency  ;
    CaTime     outputLatency ;
    double     sampleRate    ;
    Stream   * next          ;
    Conduit  * conduit       ;
    Debugger * debugger      ;

    explicit         Stream         (void) ;
    virtual         ~Stream         (void) ;

    void             Terminate      (void) ;
    bool             isValid        (void) const ;
    virtual bool     isRealTime     (void) ;
    virtual CaError  Error          (void) ;
    virtual char *   lastError      (void) ;

    virtual CaError  Start          (void) = 0 ;
    virtual CaError  Stop           (void) = 0 ;
    virtual CaError  Close          (void) = 0 ;
    virtual CaError  Abort          (void) = 0 ;
    virtual CaError  IsStopped      (void) = 0 ;
    virtual CaError  IsActive       (void) = 0 ;
    virtual CaTime   GetTime        (void) = 0 ;
    virtual double   GetCpuLoad     (void) = 0 ;
    virtual CaInt32  ReadAvailable  (void) = 0 ;
    virtual CaInt32  WriteAvailable (void) = 0 ;
    virtual CaError  Read           (void       * buffer,unsigned long frames) = 0 ;
    virtual CaError  Write          (const void * buffer,unsigned long frames) = 0 ;
    virtual bool     hasVolume       (void) = 0 ;
    virtual CaVolume MinVolume      (void) = 0 ;
    virtual CaVolume MaxVolume      (void) = 0 ;
    virtual CaVolume Volume         (int atChannel = -1) = 0 ;
    virtual CaVolume setVolume      (CaVolume volume,int atChannel = -1) = 0 ;

};