2013年03月29日
2013年03月27日
2012年11月22日
WAVEファイルに曲名、歌手名などの曲情報を書き込む
CDからリッピングした場合、MP3ファイルなどにエンコードせず、WAVEファイルで生の音を楽しみたいものです。一般のWAVEファイルには、メタデータは含まれていないようですが、CDリッピング時に得られたCDテキストやFreeDBから得られた曲情報もWAVEファイルに書き込めば、より便利になります。
そこで、RIFF INFOチャンクを使ってWAVEファイルに曲名、歌手名などの曲情報の書き込むプログラムを作成してみました。
続きを読む
2012年06月30日
2012年06月25日
2012年06月20日
2012年06月14日
2012年05月25日
AACファイルの書き込み
faacエンコーダーを介してWAVE音源データをAACストリームにエンコードしてAACファイルに書き込む手順は、以下の通りです。
- AACエンコードに必要なfaac 1.26をインストールします。
- faacエンコーダーを開いてfaacEncConfiguration構造体と入力サンプル数、最大出力バイト数等を取得し、faacEncConfiguration構造体の各値を、目的の使用を満たす値に再設定し直します。
- 取得した入力サンプル数から、WAVE音源データを一時格納するための入力バッファサイズを算出します。
- 取得した最大出力バイト数から、エンコード済みデータを格納する出力バッファサイズを算出します。
- 入力/出力バッファの領域を確保したら、WAVE音源データを読み込み、入力バッファの32ビットデータの上位ワードに書き込みます。
- 入力バッファの32ビットデータをAACストリームにエンコードして、AACファイルに書き込みます。
- WAVE音源データの読み込みが終了したら、エンコーダーに残ったすべてのデータを吐き出させてから、faacエンコーダーをクローズします。
続きを読む
2012年05月13日
2012年05月12日
2012年05月07日
2012年04月24日
2012年04月19日
ID3タグの書き込み(id3lib) 第1部
ID3タグ編集用ライブラリ「id3lib-3.8.3」を使用して、ID3タグをMP3ファイルに書き込む方法を解説します。尚ID3タグ編集用ライブラリ「id3lib-3.8.3」のインストールについては、id3libのインストールをご参照ください。
続きを読む
2012年04月09日
2012年03月11日
ID3タグの読み込み(id3lib) 第2部
ID3タグを含んだ音楽ファイルからCID3Tagクラスを使って、ID3タグを読み込む手順は以下の通りです。
- CID3TagクラスのインスタンスをID3タグを含んだ音楽ファイルのファイル名を指定して作成するか、或いはファイル内のID3タグをバージョン毎に読み込む場合は、ファイル名を指定せずに作成します。
- ファイル名を指定せずにCID3Tagクラスのインスタンスを作成した場合は、ファイルから直接読み込んだID3タグの生データを、CID3Tag::Parse関数に入力してID3タグの内容を解析します。
- CID3Tag::Parse関数の戻り値や、CID3Tag::GetFrameCount関数で取得したフレーム数を元に、CID3Tag::GetFrame関数を使ってフレームの内容を順に読み出し、リストビュー等のコントロールを用いて結果を表示します。
続きを読む
ID3タグの読み込み(id3lib) 第1部
今回は、MP3ファイルのID3タグを読み込むために、id3lib-3.8.3というフリーライブラリを使用してみました。尚id3lib-3.8.3の扱いについては、前回のid3libのインストールをご参照ください。
続きを読む
2012年02月19日
id3libのインストール
MP3ファイルフォーマットカテゴリーではlibid3tagライブラリを使用してID3タグの読み書きを解説してきた訳ですが、「AACファイルフォーマットの読み込み」を書く段になって、このlibid3tagライブラリの限界が目立ってきたので、思い切って今一度id3libライブラリについても解説していきたいと思います。
今になって見えてきたlibid3tagライブラリの限界
- ID3v1タグの読み書きにおいては、ISO8859-1規格に厳密に従うので、シフトJISでの書き込みや読み込みができません。
- 書き込んだID3v2タグのバージョンはすべてID3v2.4タグになってしまう。つまりID3v2.2タグやID3v2.3タグの書き込みが不可能なため、せっかく書き込んだ内容も、ウィンドウズのエクスプローラーや、ウィンドウズメディアプレーヤー、SONYのMP3プレーヤーからはまったく読み込めません。
- バージョンID3v2.4で画像を書き込んだファイルを、ウィンドウズメディアプレーヤーで再生すると動作が不安定になり、場合によってはデッドロックを起こす場合があります。
以上の点からもバージョンID3v2.4以外は、id3libライブラリを使用したほうが無難のようです。
続きを読む
ゴミ箱に捨てたファイルの復元
シェルインターフェースを使用してゴミ箱に捨てたファイルに対して、コンテキストメニューのコマンド内容(以下の4つ)を実現する方法を解説します。
- ”undelete”(ファイルの復元)
- ”cut”(ファイルの切り取り)
- ”delete”(ファイルの削除)
- ”properties”(ファイルプロパティの表示)
続きを読む