コードによるライブラリ管理 |
基本事項 |
最終更新日:2006/07/20 新規 |
昔のTipsでは、WMAファイルのタグの読み書きの初歩を紹介していたが、WMPも進化し、ライブラリ管理機能が強化されたため、旧Tips
の方法では上手く行かない。ここでは、WMP10で管理されたライブラリを正しくコードからアクセスし、それらの参照、更新を行う方法を紹介している。ここでは、コンテンツ(メディア)として、音源ファイル(WMAファイル)に限定している。
●原理
指定された複数のフォルダに存在する音源ファイルをWMPは管理する。管理とは、
- ライブラリとして対象を限定する。音源ファイルの追加、削除を行う。
- 音源ファイル(ソースファイル)は、コピーではなく、リンク情報で管理される。
- 音源ファイルをタグで分類し、表示する。音源ファイルの外側にも追加情報をライブラリ内で管理。
- タグを更新する。
- プレイリストを作成し、再生する。
- ポータブル・オーディオと同期化する。
などである。これらの殆どの機能はオブジェクトを通じてコードで実行でき、その場合は、ライブラリは正しく維持される。オブジェクトを介さずアクセスすると破綻する可能性がある(旧Tips
など)。
●基本オブジェクト
WindowsMediaPlayer オブッジェクトが基本となる。これは、.NET
オブジェクトではないが、参照設定すれば、自動的にラッパーが被せられ、.NETからアクセス可能となる。以下のように参照設定する。
- 参照の追加にて COM オブジェクトを指定し、その中から、WindowsMediaPlayer
の内、wmp.dll を選択する。
- すると、参照設定にて、WMplib が表示される。
●アクセス手順
概ね、以下の手順を踏めば、正しく管理される。
- WMP のインスタンス mp を生成する。
Dim mp As New WMplib.WindowsMediaPlayer()
mp.settings.autoStart = False
'念のため自動再生を止めておく
- その mp にて、mediaCollection から、目的のサブセット プレイリスト pl を確保する。
- pl のItem が、メディア(ここでは一つの音源ファイル)を参照する。
- pl あるいは、Item に対して、目的の処理を施す。(参照、更新、演奏など)
- 処理が完了し、pl が不要であればこれを破棄する。破棄しないと、WMPのUIで、プレイビューに残る。
mp.playlistCollection.remove(pl) 'プレイリストを破棄
|