ビデオディスプレイ (スパーク) とカメラがあります。
public var camera:Camera;
...
livePreview.source = getDynamicStreamingVideoSource();
camera.setMode(camWidth, camHeight, 15);
livePreview.videoObject.attachCamera(camera);
...
<s:VideoDisplay id="livePreview" ... />
コードのどこかで、camera.setMode(newWidth, newHeight) を呼び出し、livePreview.width = newWidth、livePreview.height = newHeight を設定して、プログラムでサイズを変更しようとしました。これは私が見たものからうまくいきません。livePreview は新しい幅と高さにサイズ変更されますが、少なくとも部分的にはカメラには変更されません。たとえば、元のサイズが 250、250 で、新しいサイズとして 500 (W) と 250 (H) を設定すると、カメラのビデオは水平方向に押しつぶされて表示されますが、物理的な幅は 250 のままです。 livePreview.scaleMode を「stretch」に設定すると、カメラのビデオはビデオを希望どおりに正確に表示します (歪みなし、正しいサイズ、比率はそのまま)。
ここで、私の本当の問題について説明します。これは、パフォーマンス面でうまく機能しません。「ストレッチ」は、ビデオをストレッチしていることを実際に示しており、少なくとも 1 秒かかります。遅すぎる。何の影響もなく瞬時に動作するようにしたい。また、正しい幅を指定し、videoDisplay の幅と同じ場合に、なぜ引き伸ばす必要があるのか わかりません。私はここに行方不明ですか?