![]() |
hamigaki::audio::vorbis_file —
Ogg Vorbisファイルへの読み込み専用アクセスを提供するSourceモデル
template<typename Source> class vorbis_file { public: // types typedef char char_type; typedef implementation defined category; // construct/copy/destruct explicit 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; };
Sourceを受け取り、Vorbisデコードした結果を読み出すことができる。
vorbis_fileはClosable、OptimallyBufferedである。Source
がSeekableであれば、vorbis_fileもSeekableである。
vorbis_file
construct/copy/destructexplicit vorbis_file(const Source& src, const vorbis_sample_params& params = vorbis_sample_params());
Effects:
Vorbisデコーダを初期化し、src
からヘッダ情報を読み込む。
vorbis_file
Boost.Iostreams implementationstd::streamsize optimal_buffer_size() const;
Returns: 200ミリ秒分のバッファサイズ
std::streamsize read(const char* s, std::streamsize n);
Throws:
n
がサンプルサイズの倍数でい場合、std::ios_base::failure
void close();
std::streampos seek(boost::iostreams::stream_offset off, std::ios_base::seekdir way);
Throws:
off
がサンプルサイズの倍数でい場合、std::ios_base::failure
vorbis_file
queriesstd::size_t block_size() const;
vorbis_file
からの読み出し、シーク操作は最小単位
Returns: サンプルサイズ。16ビットステレオの場合、4。
std::pair<const char**,const char**> comments() const;
Returns: コメント文字列ポインタの配列の先頭要素のポインタとpast-the-end要素のポインタの対
const char* vendor() const;
Returns: ファイル作成者の情報
vorbis_info info() const;
Returns: フォーマット情報
boost::int64_t total() const;
Returns: 合計バイト数
Copyright © 2006 Takeshi Mouri |