一陣の神風が舞う
東北弁炸裂するショボプログラマの日々(´・ω・`)
04 | 2018/05 | 06
S M T W T F S
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Windowsアプリのフォーム上でFlashファイルを再生する

かれこれ4ヶ月程、帰りは終電近く、土日出ずっぱりという生活をしております。

純粋に職としての仕事内容がきついのは楽しめますが、 政治的な付き合いも仕事の内とされてしまうと正直凹みます。

_|\○_

さて今回は、C#(ファット型アプリ)のフォームに直接Flashファイルを読み込ませる時に 四苦八苦してたショボPGの記録です

ちなみに、VBでも2003以降なら基本は同じ応用してSWFが扱えますだ。


■目的

Visual C# 2005 Pro で作るWindowsアプリケーションのフォームにFlashファイルを読み込み、再生させます。
全体の手順を示します。

  1. VS2005のアイテムに"Shockwave Flash Objects"を追加する
  2. "Shockwave Flash Objects"コンポーネントをフォームに配置する
  3. 配置したコンポーネントにFlashファイルを読み込ませる
  4. 再生する

■ツールボックスアイテムに"Shockwave Flash Objects"を追加する

VS2005を起動し、メニューバーから[ツール]->[ツールボックス アイテムの選択]を選択する。



[COMコンポーネント]タブを選択し、[Shockwave Flash Object]にチェックを付けて[OK]ボタン。

ShockwaveFlashObjectを選択。Flash9.ocxに含まれるらしい

登録できた!!

ツールボックスに追加された!!

■"Shockwave Flasj Object"をフォームに配置する

アイテム登録が出来たので、早速フォームに配置してみるも…

なんでええええええ??ヽ(`д´)ノ

ライブラリが見つからない…って言っているのか?


エラーを見るも…わからん…(´・ω・`)

ちゃんとFlashPlayer9はインストールしてたはずなんだけどな…。わからん。
しかもサンプルは動きやがるしっ!!

~ 余談 ~
もし、FlashPlayer9をインストールしている状態で、ライブラリファイルが[Flash9.ocx]になっていたら、 Adobeに行ってActiveXプラグインをインスコしてくること!

ActiveXのインストールチェック

またFlex2に付属しているプレイヤーを入れた時も、設定が変わっているらしいので、 [Flash9b.ocx]になっていたとしても、Adobeのサイトからダウンロードした方が確実。(超古いし)

ちなみにFlex2 SDKにも付いているが挙動がちょっと怪しい

Adobeラボに置いてあるデバッガ版FlashPlayerのActiveXコンポーネントの使用は今のところ諦めたほうが良さそう。
もぬすごい勢いでアップデートが繰り返されてますだ。

参考
|・x・)っ[ Flex2のデバッガが起動しないぜ / http://www.adobe.com/jp/support/flex/ts/documents/758bf58b.htm ] |・x・)っ[ Adobe Flash Player Debugger(英) / http://www.adobe.com/support/flashplayer/downloads.html ]

■動くサンプルからDLLを頂戴する

結局、VisualStudioでDLLを生成することが困難なようなので、 Adobeのサンプルアプリ集にあるDLLを頂戴することにした。

サンプルのフラッシュはなんで動くんだ?…おおぅ?!

こいつらを、コピって…

DLLかっぱらっちまうんだぜ!!1

一旦、VS2005を終了させ、自分のプロジェクト直下の /obj フォルダに

  • AxInterop.ShockwaveFlashObjects.dll
  • Interop.ShockwaveFlashObjects.dll
  • を配置した。
    その際、/obj以外にある同名のDLLファイルは全て削除。
    さて、アイテム登録からやり直してみたんだぜ!!1




    張れたああああヽ(`д´)ノヤッタゾゴルァ


    貼れたぜええええええ!!1!111ヽ(`д´)ノコノヤロー

    ■後は読み込ませるだけ

    axShockwaveFlash1.loadMovie(0, @"c:\proj\cs\ManagedDirectXApplication1\bin\Debug\parts\movie01.swf");
    axShockwaveFlash1.Play();

    工事中!!ヽ(`д´)ノいえぇぇぇぃぃ


    動いたああ~~ッ!!



    ~ 余談~
    SWFファイルを読み込ませる際、ShockwaveFlashObjectsコンポーネントは相対パスじゃダメなようです。
    必ずフルパスにしないといけないので、DirectryクラスあたりでC#アプリのパスを取得する必要があります。
    知らないとハマりそうだ(・x・;)

    |・x・)ノシ<ンジャマタ

    テーマ:プログラミング - ジャンル:コンピュータ

    この記事に対するコメント

    >CANDYさん
    「なぜか出来ない」ではなく、元々この記事で紹介しているコンポーネントのターゲットにFLVは含まれていませんのでご了承下さい。

    FLVは基本的にコーデックを使って再生する必要があります。
    が、お手軽なのは、FLVを再生できるSWFを作り、SWFを本記事の方法で表示すれば良いと思います。
    Flex SDKを使えば無料で試せます。
    【2011/07/13 08:14】 URL | Mahny #9jgEo1Cg [ 編集]


    VisualBasic2010で試してみました。
    SWFはOKですが、FLVはなぜかダメでした。
    何か設定が必要なのかな
    【2011/07/12 22:45】 URL | CANDY #aYDccP8M [ 編集]


    |x・) ジー
    【2006/12/11 22:50】 URL | Cia #9jgEo1Cg [ 編集]


    ( ´,_ゝ`)プッ
    【2006/12/11 12:30】 URL | ぴのん #27Yb112I [ 編集]


    この記事に対するコメントの投稿














    管理者にだけ表示を許可する


    この記事に対するトラックバック
    トラックバックURL
    →http://ciablo.blog70.fc2.com/tb.php/40-3f286293
    この記事にトラックバックする(FC2ブログユーザー)

    プロフィール

    Mahny

    Author:Mahny
    趣味PG派生の職業PG(+SE?)。頭のデキはきっと残念ω

    最近の記事

    最近のコメント

    最近のトラックバック

    月別アーカイブ

    カテゴリー

    ブロとも申請フォーム

    この人とブロともになる

    ブログ内検索

    RSSフィード

    リンク

    このブログをリンクに追加する

    ペット
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。