flexを使用してビデオチャットアプリケーションを開発しています。帯域幅をチェックした後、その結果に基づいてカメラの解像度のサイズを変更したいと思います。
しかし、毎秒カメラフレームがフリーズし、フラッシュプレーヤーを強制終了して再起動する必要があります。カメラは基本的にクラッシュします。
private var camera:Camera;
private function setCameraResolution(width:Number, height:Number):void {
try {
camera = null;
camera = Camera.getCamera();
if (camera == null) {
infoPanel.title = "Error: ";
infoText.text = "No Camera Found";
infoPanel.visible = true;
hideAllControllers();
throw new Error("No Camera Found");
}
camera.setQuality(0, 80);
camera.setKeyFrameInterval(15);
camera.setMode(width, height, 24);
camera.addEventListener(ActivityEvent.ACTIVITY, cameraActivityHandler);
videoCamera.clear();
videoCamera.attachCamera(camera);
} catch (error:Error) {
if (debug) {
ExternalInterface.call('console.log', "Error: " + error.message);
}
}
}
この時点では、カメラはどのNetStreamにも接続されていません。これは一部のカメラでのみ発生し、私はMacで作業しています。解像度が変わる他のサイトでも確認しましたが、問題はありませんでした。それは私のコードでなければなりません。
ご助力ありがとうございます