フラッシュムービーを表示する

Daisukeh 2009/01/19 10:06 投稿
Daisukeh 2009/01/22 14:30 解説
Daisukeh 2009/08/05 14:15 移設

記事一覧

 フラッシュはブラウザ上で動く魅力的なコンテンツのひとつだ。RIA に称されるFlexSilverlightJavaFXなどの中でも、歴史と実績と人気においてフラッシュ(Flex)の右に出るものはないだろう。Openlaszloなどの気鋭のプラットフォームも現れているが、Adobe AIRや次世代Flexなどでの機能面のアドバンテージは大きい。

 そんなこんなでDokuWikiに簡単にフラッシュムービーを表示したい、と思いついて作ったのがこのプログラムだ。例によってplugin:phpincを使っている。plugin:phpincはプラグインほど手間をかけなくともPHPコードが書けて動かせるのが魅力だ。元来DokuWikiには<php>タグによるインラインプログラムが可能になっているが、ライブラリやちょっと規模の大きいもの、セキュリティ面などを考えたとき、plugin:phpincは非常に便利だ。ソース見たけど、やってることは難しくない。(難しいことやってるからって、便利かどうかは計れないよね。:-o

 DokuWikiのフラッシュ用プラグインはpluginsを探せばいくつか出てくる。plugin:flashplayerなどが有名のようだが、使ってみたところ本当にムービーしか扱えない?プラグインらしく、ウィンドウ下に再生ツールバーが表示されている。これではちょっと(いや、かなり)困るので、ただ単純にフラッシュムービーを貼り付けるだけの機能を、plugin:phpincで実現したのがこのプログラムだ。やっていることは、指定されたムービーとパラメータで<object>タグと<embed>タグを生成するだけだ。サイズ指定はオプション(でも指定した方がいい)で、標準でループ再生、クオリティは”high“、サブパラメータも指定できるようにした。

 使い方はこんな感じだ。<div>タグは単に見栄えが悪いのでセンタリングしただけなので気にしないで欲しい。1)

DokuWikiでの使用例

<phpinc=swfview.php>
<php>
  echo '<div align="center">';
  swf_view("/lib/images/laughingman.swf", 400, 400);
  echo '</div>';
</php>

 以下のプログラムを/phpincludes/に入れて、あとは呼び出すだけだ。

ダウンロードswfview-090122.zip

swfview.php

<?php
 
  // フラッシュムービー表示   1.01 09/01/15 Daisukeh
 
  function swf_view($url, $width = null, $height = null, $bgcolor = "#ffffff", $loop = 'true', $quality = 'high', $param = null)
  {
    // フラッシュムービー表示
    if(!eregi('\.swf$', $url)) return;
    if(eregi('^/', $url))
    {
      global $conf;
      $url = $conf['baseurl'] . $url;
    }
    print('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ');
    print('codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,0,0" ');
    if(isset($width) && isset($height)) print("width=$width height=$height");
    print('>');
    $cache = time();
    print("<param name=movie value=\"$url?$cache\">");
    print("<param name=bgcolor value=$bgcolor>");
    print("<param name=loop value=$loop>");
    print("<param name=quality value=$quality>");
    if(isset($param)) print($param);
    print("<embed src=\"$url?$cache\" ");
    if(isset($width) && isset($height)) print("width=$width height=$height ");
    print("bgcolor=$bgcolor ");
    print("loop=$loop ");
    print("quality=$quality ");
    print('pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash">');
    print('</embed>');
    print('</object>');
  }
 
?>

1) サーバー移管に伴いサンプルを変更しました。

掲示板

, 2017/10/18 06:28
格安販売 顧客は至上≡≡★★★★★★大注目★★★★★≡≡≡≡≡
スーパーコピーブランドN級品専門店
史上最も激安ブランドスーパーコピー-即日 配送可,100%入荷。
当店は正規品と同等品質は品質3年保証でご注文から5 日でお届け致します。
て新品、高い品質、激安 、送料は無料です( 日本全国)すべての商品は品質2年無料保証です。
激安ブランド 直営店
エルメス(バッグ、時計) シャネル(バッグ、時計)
Christian Dior(バッグ、小物) COACH(バッグ)
グッチ(バッグ、小物) ROLEX(時計)
オメガ(時計) IWC(時計)
FRANCK MULLER(時計)
1.最も合理的な価格で商品を消費者に提供致します。
2.弊社の商品品数大目で、商品は安めです!商品現物写真。
3.数量制限無し、一個の注文も、OKです。
4.1個も1万個も問わず、誠心誠意対応します。
5.不良品の場合、弊社が無償で交換します。
不明点、疑問点等があれば、ご遠慮なく言って下さい。
以上よろしくお願いいたします
営業時間:年中無休
ホームページ上でのご注文は24時間受け付けております
Enter your comment
 
 
programming/dokuwiki/フラッシュムービーを表示する.txt · 最終更新: 2009/08/05 14:22 by daisukeh
 

Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS
Driven by DokuWiki Powered by Google do yourself a favour and use a real browser - get firefox ! GIMP is the GNU Image Manipulation Program. Adobe Flex smarty : Template Engine