0

あなたが私を助けることができるかどうか疑問に思っている人たち。

以下をローカルでコンパイルしようとしています: https://github.com/taboca/CamCanvas-API-

これは webcam 用の JavaScript API である camcanvas です。とにかく-そのbuild.shは、javascriptが呼び出すswfを作り直します。

リポジトリを git clone し、mtasc と swfmill をインストールして ./build.sh を実行します。

build.sh ファイルは次のようになります: https://github.com/taboca/CamCanvas-API-/blob/master/build.sh

これにより、swf フォルダーに新しい swf が作成されますが、サイズが 869 バイトで機能しませんが、examples フォルダーの swfs は 1.89 キロバイトで機能します....したがって、ビルド プロセスで何か問題が発生しているに違いありません。

新しい SWF を試してみると、ページでカメラとマイクを許可するように求められず、単にビデオがまったく表示されません.... 助けてください!

誰かが私がやったことを試してみて、私が間違っていることを判断できるかどうかを確認してください.

ありがとう、

アンディ

4

2 に答える 2

1

彼らが提供するスクリプトでは使用できません:

swfmill simple library.xml camcanvas.swf
mtasc -version 8 -swf camcanvas.swf -main camcanvas.as

ただし、元の camcanvas を次のように更新すると使用できます。

copy Originalcamcanvas.swf camcanvas.swf
mtasc -version 8 -swf  camcanvas.swf -main camcanvas.as

2工程でcamcanvas.swfのサイズは819バイト

次のように逆コンパイルする場合: swfmill swf2xml camcanvas.swf >camcanvas.txt

2 つの違いがある 968 行の 2 つの同様のテキスト ファイルがあります。

14行目: DefineSprite objectID="**1**" frames="1"==>DefineSprite objectID="**2**" frames="1"

21行目: Symbol objectID="**1**" name="ObjetVideo" . . . .==>Symbol objectID="**2**" name="ObjetVideo"

そして、フラッシュをブロックするだけで十分です。

「library.xml」の良い修正が見つかりませんでした。アイデアがあれば…</p>

于 2011-10-14T14:03:05.613 に答える
0

これはコードのバグのようです。さらに良いことに、フォルダー内の swf ファイルは、samples/*現在 github にあるものとは異なるソースからコンパイルされているようです。

とにかく、ここに私が状況について持っているコメントがあります:

  • クリーンなプロジェクトのチェックアウトでは、869 バイトのファイルも取得するので、状況は正しいです
  • v0.1 から v0.2 までの swf ファイルを比較しているようです。サンプル フォルダを見ると、.swf ファイルはすべてまったく同じですが、samples/red-0.2. とにかく、ファイル名のバージョンはそれを与えます。このファイルは 868 バイト (くそ、その 1 バイト...) ありますが、サイズが似ていることを除けば、内容が似ているようには見えません (つまり、これと私が生成したファイルの違いは内容的にかなり大きかった)。

私はas2にあまり詳しくないので、何が問題なのか正確にはわかりませんでしたが、次のリンクを見つけました:

余談ですが、これはこのプロジェクトとほぼ同じことを行っているようで、一見の価値があるようです。

これを変更することで動作させることができます: - 上記のリンクから xml を取得し、プロジェクトのルートにあるファイルの内容をそれで置き換えlibrary.xmlます (最初の xml 行を残しましたが、それなしで動作するはずです) - 次の行を変更しますの中にsrc/camcanvas.as

_root.attachMovie("ObjetVideo", "webcamVideo", 1);
_root.webcamVideo.attachVideo(_root.cam);

次のように:

var display = _root.attachMovie("VideoDisplay", "display", 1);
_root.webcamVideo = display.video;
display.video.attachVideo(_root.cam);

ハックな組み合わせですが... スクリプトでこれをビルドするとbuild.sh、動作するはずの 897 バイトの swf が得られるはずです。

red-0.2サンプル フォルダの html を使用する必要があり、最初にGet the Camera Listボタンをクリックしてからカメラを変更する必要があることに注意してください(2 番目の (空の) 項目を選択して最初の項目に戻ります。 system) を設定するコンボ ボックスに入力します。これを行った後、Flash から許可/拒否ダイアログを取得する必要があり (これを明示的に有効にしない限り)、その後は完全に機能するはずです。

また、私のマシンでは、ローカルに保存されたファイルからは機能しませんでした。これを (ローカル) Web サーバーに配置して機能させる必要がありました。おそらくセキュリティ上の制限に関係しています。同様の方法で試す場合は、そのことを覚えておいてください。

お役に立てれば。

于 2011-08-16T03:36:42.637 に答える