[BlueLeaf1336]> PROBLEMS> MediaSkipper>
| history | TOP |
2008/02/04:作成
| インストール | TOP |
1.ActiveX コントロールの取り込み
2.Real Player ActiveX Control Library (Version 1.0) を選択して「インストール」をクリック
3.パッケージを選択。
今回はオリジナル以外のコンポーネントを突っ込む用に使っているパッケージを選択しました。
4.RealAudioObjects_TLB.pas / RealAudioObjects_TLB.dcr というのが追加されてます。
「コンパイル」をクリック
5.うまくいったみたいです。
6.パッケージを保存して、いったんDelphiを終了して(なんとなく)、もう一回立ち上げて、ActiveX タブを見てみると、右の方にちんまりと追加されてます。
7.新規作成でフォームを表示して、ひとつおいてみました。が、移動すらできません。
8.オブジェクトツリーには表示されてます。
9.右クリックしてみるとプロパティが表示されました。
10.面白くない画面でした。
| Real Player 再生してみよう | TOP |
TRealAudio と TOpenDialog をフォームにおいて FormCreate で Source を設定して DoPlay を呼び出してテストしてみました。
procedure TForm1.FormCreate(Sender: TObject);
begin
if (OpenDialog1.Execute()) then
begin
RealAudio1.Align := alClient;
RealAudio1.Source := OpenDialog1.FileName;
RealAudio1.DoPlay();
end;
end;
ちゃんと再生されました。それよりなにより、手持ちの .rm ファイルはどれもこれも...
| フォームをリサイズしてみました | TOP |
変です。完全にフォームのサイズについてきます。しかも、コントロール部分が伸び縮みしたりして。
このままじゃルールがわからないので、TRealAudio を TPanel の上に配置して、フォームのリサイズでパネルの ClientWidth と ClientHeight を表示するようにしてみました。
何をしたいかというと。やっぱりプレイヤーというのはメディアの縦横比は守らないとだめだろうと思います。多分メディアのオリジナルの縦横サイズは取れそうな感じなので、どうにかすれば縦横比を維持できる気がします。フォームのリサイズでたとえば縦を正にして横のサイズを勝手に調整するとか。
でも、そうするにしても再生画面のサイズがわからないとどうしようもないわけですが、ちょっと試してみたところ再生画面のサイズ自体がフォームのサイズに対してフレキシブルすぎます。でも、縦が439の2つは幅が違っているにもかかわらずどちらも同じ高さなので TRealAudio 自体の縦サイズとコントロール部分の縦サイズに何か関係がありそうです。
で、TRealAudio 自体の縦サイズとコントロール部分の縦サイズを測ってみて一定の比率なら何とかなるんじゃないかなぁと思ってるわけです。いやいや、よく見てみると、再生画面のサイズの方が測りやすそう。
| NO | A=TRealAudio | B=再生画面 | C=B/A | D=A-B | F=B(i+1)-B(i) |
| 1 | 100 | 82 | 0.8200 | 18 | - |
| 2 | 200 | 164 | 0.8200 | 36 | 82 |
| 3 | 300 | 248 | 0.8260 | 52 | 84 |
| 4 | 400 | 333 | 0.8325 | 67 | 85 |
ひょっとしたらと思い、おまけでもうひとつ測ってみました。無意識がぴったりした数字を選んだのかも知れませんが、これで十分と思います。気持ちもいいし。実際、数ピクセル狂ったところで肌色ばっかりの画面なんだからどうでもいいやん、てなもんです。
| A=TRealAudio | B=再生画面 |
| 480 | 400 |
このページおよび以降のページでは、次の比率でやっていくことにします。
長くなったのでここまで。
| EOF | TOP |