background_player
background_playerとりあえず版ができました。
サウンドプレーヤっぽく、メソッド名も統一しています。
class background_player { public: // 生成のみ background_player(); // 生成と同時にopen template<typename Source, typename Sink> background_player(Source src, Sink sink, std::streamsize buffer_size = boost::iostreams::default_device_buffer_size); // 破棄(必要に応じてstop) ~background_player(); // SourceとSinkの設定 template<typename Source, typename Sink> void open(Source src, Sink sink, std::streamsize buffer_size = boost::iostreams::default_device_buffer_size); // SourceとSinkのclose void close(); // 再生中かどうか bool playing(); // 再生 or レジューム void play(); // 停止(一時停止) void stop(); // 再生位置の取得 std::streampos tell(); // 再生位置の設定(停止中のみ可能) std::streampos seek( boost::iostreams::stream_offset off, BOOST_IOS::seekdir way) };
background_copyのcopy()と違い、open()とplay()が分離しているので注意して下さい。これにより、play()前にseek()することが可能になっています。
今日の成果物
今回からアーカイブ名とトップディレクトリ名をBoost風に変更しました。
また、あまりテストしていません。Regression Testもしてません。