hamigaki.png (2451 bytes)

前のページ 上に戻る ホーム 次のページ

Class template basic_vorbis_file

hamigaki::audio::basic_vorbis_file —

Ogg Vorbisファイルへの読み込み専用アクセスを提供するSourceモデル

Synopsis

template<typename Source> 
class basic_vorbis_file {
public:
  // types
  typedef char                   char_type;
  typedef implementation defined category; 

  // construct/copy/destruct
  explicit basic_vorbis_file(const Source&, 
                             const vorbis_sample_params& = vorbis_sample_params());

  // Boost.Iostreams implementation
  std::streamsize optimal_buffer_size() const;
  std::streamsize read(const char*, std::streamsize);
  void close();
  std::streampos seek(boost::iostreams::stream_offset, std::ios_base::seekdir);

  // queries
  std::size_t block_size() const;
  std::pair<const char**,const char**> comments() const;
  const char* vendor() const;
  vorbis_info info() const;
  boost::int64_t total() const;
};

Description

Sourceを受け取り、Vorbisデコードした結果を読み出すことができる。

basic_vorbis_fileはClosable、OptimallyBufferedである。SourceがSeekableであれば、basic_vorbis_fileもSeekableである。

basic_vorbis_file construct/copy/destruct

  1. explicit basic_vorbis_file(const Source& src, 
                               const vorbis_sample_params& params = vorbis_sample_params());

    Effects: Vorbisデコーダを初期化し、srcからヘッダ情報を読み込む。

basic_vorbis_file Boost.Iostreams implementation

  1. std::streamsize optimal_buffer_size() const;

    Returns: 200ミリ秒分のバッファサイズ

  2. std::streamsize read(const char* s, std::streamsize n);

    Throws: nがサンプルサイズの倍数でない場合、std::ios_base::failure

  3. void close();
  4. std::streampos 
    seek(boost::iostreams::stream_offset off, std::ios_base::seekdir way);

    Throws: offがサンプルサイズの倍数でない場合、std::ios_base::failure

basic_vorbis_file queries

  1. std::size_t block_size() const;

    basic_vorbis_fileからの読み出し、シーク操作の最小単位

    Returns: サンプルサイズ。16ビットステレオの場合、4。

  2. std::pair<const char**,const char**> comments() const;

    Returns: コメント文字列ポインタの配列の先頭要素のポインタとpast-the-end要素のポインタの対

  3. const char* vendor() const;

    Returns: ファイル作成者の情報

  4. vorbis_info info() const;

    Returns: フォーマット情報

  5. boost::int64_t total() const;

    Returns: 合計バイト数

製作著作 © 2006 Takeshi Mouri

前のページ 上に戻る ホーム 次のページ