我正在关注如何使用Windows Phone上的Windows MediaCapture API以及代码示例使用捕获视频的教程,在分配新实例之前,一些变量设置为null.
private void InitCaptureSettings() {
_captureInitSettings = null;
_captureInitSettings = new Windows.Media.Capture.MediaCaptureInitializationSettings();
_captureInitSettings.AudioDeviceId = "";
_captureInitSettings.VideoDeviceId = "";
_captureInitSettings.StreamingCaptureMode = Windows.Media.Capture.StreamingCaptureMode.AudioAndVideo;
_captureInitSettings.PhotoCaptureSource = Windows.Media.Capture.PhotoCaptureSource.VideoPreview;
if (_deviceList.Count > 0) {
_captureInitSettings.VideoDeviceId = _deviceList[0].Id;
}
}
Run Code Online (Sandbox Code Playgroud)
是否有任何理由应该这样做?
谢谢
Jon*_*eet 10
这样做的唯一一点是,如果MediaCaptureInitializationSettings构造函数可以抛出异常,并且您希望确保在这种情况下变量仍然没有引用"旧"对象.根据我的经验,这很少有用.(如果像这样的方法抛出异常,我会尽量避免使用它正在初始化的对象......)
我建议使用对象初始化器完成所有这些操作:
_captureInitSettings = new MediaCaptureInitializationSettings
{
AudioDeviceId = "",
VideoDeviceId = _deviceList.Count > 0 ? _deviceList[0].Id : "",
StreamingCaptureMode = StreamingCaptureMode.AudioAndVideo,
PhotoCaptureSource = PhotoCaptureSource.VideoPreview
};
Run Code Online (Sandbox Code Playgroud)
这有两个好处:
| 归档时间: |
|
| 查看次数: |
2174 次 |
| 最近记录: |