Windows Phone 8 の既定のカメラ クラスであるPhotoCaptureDeviceの上に Camera クラスを作成する必要があります。
理想的には、子クラスを構築したかったでしょう
class CustomCaptureDevice:PhotoCaptureDevice{
....
....
}
これにより、カメラ デバイスの構成と、CustomCaptureDevice を介した追加のフレーム処理技術の提供の両方が可能になります。残念ながら、PhotoCaptureDevice
は であるためsealed class
、それはできません。
これで、問題に取り組むのに役立つ 2 つの代替方法を考えることができます。
(1)
class CustomCaptureDevice
{
private PhotoCaptureDevice captureDevice;
// Implement all the functions of PhotoCaptureDevice here. And internally redirect them to PhotoCaptureDevice
}
上記の方法は面倒です。また、PhotoCaptureDevice の API が変更された場合、CustomCaptureDevice クラスの大幅な更新が必要になる可能性があります。
(2)
class CustomCaptureDevice
{
public PhotoCaptureDevice captureDevice;
// Expose this variable to the user, who can set things in PhotoCaptureDevice as per his needs.
}
上記は、PhotoCaptureDevice の API が変更された場合に最小限の更新が必要になるため、より簡単なソリューションのようです。
(2)は私の要件にうまく適合するようです。ただし、(2) が不適切であることが判明する可能性があるため、追加の要件があります。露出やフォーカスなどのいくつかのパラメーターをユーザーが構成できないようにしたいので、PhotoCaptureDevice の特定の構成機能を無効にしたいと考えています。
(2)の設計フレームワークでこれをどのように達成できますか。それはまったく可能ですか?
(1)の方法で簡単に実装できると思います。封印されたクラスPhotoCaptureDevice
であるという制約に注意してください。