Opened 10 years ago

Last modified 10 years ago

#11 accepted タスク

動的リンクライブラリのサンプルプログラムを作成する — at Version 3

Reported by: 村山 俊之 Owned by: 村山 俊之
Priority: 通常 Milestone: API開発手法習得
Component: 技術調査 Severity: 極めて重大
Keywords: Cc:

Description (last modified by 村山 俊之)

「C++のためのAPIデザイン」 Sec.6.9「シンボルのエクスポート」に記述のある内容を修得するためのサンプルプログラムを作成する。

サンプルプログラムの内容

概要

Wave ファイル出力ライブラリ。

方針

int32_t 型整数の配列を受け取って Wave ファイルを出力する。

Wave ファイルの形式は通常の無圧縮 Windows Wave 形式のみとし、以下より選択できるものとする。

  • モノラルまたはステレオ
  • 量子化数 16/24bits
  • サンプリングレート 8/22.05/44.1/48

設計

  • AudioOutput ... オーディオ出力関連の抽象インタフェースクラス
    • open() ... 出力リソースを開く (出力開始のためにデバイスを準備する)。
    • close() ... 出力リソースを閉じる (出力完了に伴う処理を実施する)。
    • `outputWave(int ch, size_t size, const int32_t[] wave) ... 指定したチャンネルに波形を出力する。
  • AudioFileExporter ... オーディオファイル出力に特化した抽象インタフェースクラス
    • `setFileName(std::string && name) ... ファイル名を設定する。
  • WindowsWaveExporter ... Windows Wave 形式ファイル出力クラス

Change History (3)

comment:1 by 村山 俊之, 10 years ago

Status: newaccepted

comment:2 by 村山 俊之, 10 years ago

Description: modified (diff)

どんなライブラリにするかという話なのですが…

やっぱり配列を受け取って Windows Wave 形式のオーディオファイルを出力するライブラリとかがいいかなと。

comment:3 by 村山 俊之, 10 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.