豊田 孝
本日はWindows XP RC1(以後Windows XPと略記)に搭載されるWindows Media Player 8.0(WMP)の連続再生機能を説明し,その後,WMPとインターネット接続の関係を理解するための準備作業を行います。それではさっそく,本論に入りましょう。
Windows XPを支えるのはショートカット技術
まず,次のような作業を行いたいと思います。
・複数の音楽ファイルを,任意のフォルダに格納する
・そのフォルダ内に入っているすべてのファイルをWMPで連続再生する
図1●「マイ ミュージック」フォルダ |
ここで注意していただきたいのは,連続再生というのは1つの音楽ファイルを繰り返し再生することではなく,複数の音楽ファイルを連続して再生することですから,複数のファイルに関する情報が必要になります。このため,「すべて再生」ボタンをクリックする前に,私たちは次のような問題を解決しておく必要があります。
“複数の音楽ファイルに関する情報を「すべて再生」ボタンにどのように知らせるか”
図1では,「マイ ミュージック」フォルダに「Sample Music」というショートカット・オブジェクトがデフォルトで作成されています。普通に考えれば,再生操作対象となるのは,あくまでもファイル・オブジェクトのはずです。ファイル・オブジェクトではなく,なぜショートカット・オブジェクトを使用しているのでしょうか?
ショートカット・オブジェクトはその内部にリンク先情報を持っています。「Sample Music」ショートカット・オブジェクトのプロパティを調べてみると,「C:\Documents and Settings\All Users\Documents\My Music\Sample Music」というリンク先フォルダ情報を持っていることが分かります。ご承知のように,フォルダは複数のファイルを格納し,管理する機能を持っています。つまり,フォルダは自分自身が格納しているファイル数やファイル名称などを知っているわけです。
これは,「C:\Documents and Settings\All Users\Documents\My Music\Sample Music」フォルダへのショート・カットオブジェクトである「Sample Music」を「マイ ミュージック」フォルダに作成しておけば,ショートカットオブジェクトを経由して,必要な音楽ファイル情報を取得できることを意味します。ここまでの説明を整理すれば,次のようになります。
“WMPの連続再生機能は,「マイ ミュージック」フォルダ内のショートカット・オブジェクトを参照して,複数の音楽ファイルを格納する目的のフォルダを特定し,そのフォルダに格納されているすべてのファイルを連続再生している”
この文章から分かるように,ショートカット・オブジェクトはフォルダを抽象化しています。具体的にいえば,フォルダが管理しているファイルの個数と個々のファイル情報の抽象化といえます。実は,このショートカット・オブジェクトは,第3回で紹介した「マイ ピクチャ」フォルダでも同じような役割を果たしています。「マイ ピクチャ」フォルダは,複数のイメージ・ファイルを連続表示する「スライドショー表示」機能を持っていますが,この機能も複数のイメージ・ファイルに関する情報を必要とします。
それではここで視点を変え,次のようなことを考えてみましょう。
“ショートカット・オブジェクトによる抽象化は,XPユーザーにどのようなメリットをもたらすのだろうか”
回答は次のようになります。
“ショートカット・オブジェクトによりファイル個数やファイル情報が抽象化されるため,私たちは再生する音楽ファイルのことだけを考えればよい”
連続再生機能を使いたいときには,ユーザーは音楽ファイルを格納するフォルダへのショートカットを用意するだけでよいのです。再生する音楽ファイルの場所やファイル数を気にする必要はありません。ファイル数管理はフォルダの仕事だからです。実はメリットはこれだけではありません。
「マイ ミュージック」フォルダと「マイ ピクチャ」フォルダは,あくまでもフォルダですから,ファイルやサブ・フォルダを格納,管理する機能を持っています。つまり,音楽ファイルやイメージ・ファイルを格納するフォルダを直接これらのフォルダ内にコピーし,サブ・フォルダとして整理することも可能です。しかし,フォルダやファイルを直接使用すると,ファイルをCDに書き込む際にちょっとした問題が発生してしまうのです。
図2●Windows XPのCD書き込み機能 |
このような中間ファイルのサイズは可能な限り小さくすることが理想です。ファイル・サイズが小さければそれだけ,パフォーマンスが改善されるからです。このあたりの詳細に興味のある人のために,今回は第1補助プログラム「No5CDBurning.exe」を用意しました(ダウンロードはこちら)。このプログラムを使って,次のような操作を行ってみてください。この例では,中間ファイルの存在を簡単に確認できる「マイ ピクチャ」フォルダを使っています。
ステップ1:複数のイメージ・ファイルを格納する任意のフォルダを「マイ ピクチャ」フォルダにそのままコピーする
ステップ2:「スタート」ボタンをクリックして「マイ ピクチャ」メニューを開く
ステップ3:「CDにコピーする」をクリックする
ステップ4:「No5CDBurning.exe」補助プログラムを実行する
図3●「No5CDBurning.exe」補助プログラムの実行結果 |
この画面は中間ファイルの正体を示してくれています。ここでは,ファイル・タイプが「ファイルフォルダ」となっていることに注意してください。上記ステップ1で,フォルダ自体を「マイ ピクチャ」フォルダにコピーする代わりに,そのフォルダへのショートカットを「マイ ピクチャ」フォルダに作成した後で,ステップ2以下を実行すると,作成される中間ファイルのタイプが「ショートカット」として報告されるはずです。作成される中間ファイルのサイズにどれほどの違いがでるのかは容易に想像できるでしょう。
さらに,複数の音楽ファイルを格納しているフォルダへのショートカットのサイズは,フォルダ内の音楽ファイルの数に関係なく,一定であることも忘れるべきではありません。つまり,ファイルへのショートカットはファイルの格納場所などを抽象化していますが,フォルダへのショートカットは格納場所とともに,フォルダ内のファイル数を抽象化する役割をも持っています。
ショートカットと言えば,これまでは目的のプログラムを効率的に起動するための,ユーザーが使用する技術と考えていた人も多いと思いますが,Windows XPでは,Windows自身がショートカットを内部で積極的に使っているのです。
それでは次に,このショートカット技術を使って,WMPとインターネットの関係を考えるための準備作業を行うことにしましょう。
WMPとインターネットの関係を考えるための準備作業
前回解説したように,WMPを起動する場合には,データ中心(音楽ファイル中心)の方法とプロセス中心(アプリケーション中心)の2通りの方法があります。プロセス中心でWMPを起動した場合,常時接続環境では自動的にインターネットに接続されます。自分のコンピュータがどこに接続されるのかちょっと気になるところです。そこで,すでに解説したショートカット技術を活用して,接続先情報を表示してくれるプログラムを簡単に呼び出せる環境を整備することにしましょう。
図4●「No5NetStat.exe」補助プログラムの実行結果 |
netstat.exeを直接起動したり,あるいは,デスクトップ上に作成されたショートカット情報を参照して自動的に起動するプログラムを作成することもできますが,今回はそこまでの機能は持たせないことにします。ショートカットオブジェクトが無事に作成されていることを確認したら,次の作業を行ってみてください。ただし,Windows 2000 Professional環境では,netstat.exeを実行しても,即座に終了してしまうと思います。その際には,「コマンド プロンプト」を開いて,下記のステップ3と同じ情報を入力してください
ステップ1:デスクトップ上のショートカットを右クリックする
ステップ2:最下端の「プロパティ」をクリックする
ステップ3:開かれる画面の「リンク先」情報を次のように変更する
C:\WINNT\system32\netstat.exe -o 2
(「WINNT」の部分には,Windowsをインストールしたフォルダに応じた情報が入っているはずです)
ステップ4:変更後,OKボタンをクリックする
ステップ5:ショートカットをダブルクリックして,netstat.exeを起動する
ステップ6:最右端に表示されるPID情報を確認する
ステップ7:「スタート」ボタンをクリックし,「Windows Media Player」を起動する
ステップ8:netstat.exeの表示画面を約1分間ながめる
ステップ9:「Windows Media Player」の動作を終了する
ステップ10:再度,netstat.exeの表示画面を約1分間ながめる
ステップ11:netstat.exeの動作を終了する
本日はこれ以上の説明は割愛しますが,前回用意した「WatchProcess.hta」と「WatchIEMP.exe」という2つの補助プログラムも動作させながら,表示されてくる各種画面をながめてみてください。それらの画面にはHTTP,TCP,80,PID,プロセス名などという文字列が含まれているはずです。現時点では,netstat.exeが表示してくる情報を理解できないかもしれませんが,ここでは,その情報は皆さんのマシンとインターネットの接続関係をリアルタイムに知らせてくれていることだけ覚えておいてください。次回はnetstat.exeプログラムの機能と,このプログラムが表示してくれるインターネット接続情報を説明する予定です。それでは次回またお会いいたしましょう。ごきげんよう。