2

ビデオ オブジェクトで BitmapData.draw() を使用しようとしていますが、OSMF フレームワークを使用しています。

私のホスティング サービスは、rtmp ビデオにアクセスできるように次のように設定しています。

<VideoSampleAccess enabled="true">/</VideoSampleAccess>  

簡略化されたコードは次のとおりです。

_videoURL = "my-url-here"       
resource = new StreamingURLResource(_videoURL);
videoElement = new VideoElement(resource);          
_player.media = videoElement; 
container.addMediaElement(videoElement);
_player.autoPlay = true;
_player.play();

// later on, pause the player at the end
_player.pause();
// get the Video object
videoObj = _player.displayObject as Video;
// detach the netstream
videoObj.attachNetStream(null);

// get the bitmap from the Video object and draw on it..
bmpdata:BitmapData = new BitmapData(videoObj);

 bmpdata.draw()

ただし、次のエラー メッセージが表示されます。

SecurityError: Error #2135: Security sandbox violation: BitmapData.draw: ...
4

2 に答える 2

2

Adobe Media Server からストリーミングしている場合は、パラメーターをサーバー側に設定する必要があります http://www.shell-tips.com/2009/08/30/flash-how-to-fix-the-security-sandbox-violation- bitmapdata-draw/ ビデオ プレーヤーの下にビデオ ストリームの反射を作成しようとしたときに、これに遭遇しました。ほとんどの CDN では、メディア サーバー アプリケーション コードをカスタマイズできます。そうでない場合は、CDN を変更するか、プログレッシブ再生に切り替える必要があります。

于 2010-11-05T23:04:16.470 に答える
0

ビデオ オブジェクト自体の代わりにコンテナーを描画してみてください。draw メソッドのソースは、タイプ Bitmap または DisplayObject のいずれかにすることができるため、ビデオを追加する MovieClip または Sprite は描画可能である必要があります。

編集:そうです、セキュリティ上の問題がある場合、コンテナの描画はあまり変わらないと思いました...

これを試すことができます:

flash.system.Security をインポートします。

Security.loadPolicyFile('policyfileURL');
于 2010-09-14T17:20:05.960 に答える