UWP 응용 프로그램에 카메라 기능이 있습니다.이 기능 중 하나는 실제로 연결된 카메라 장치가 있는지 여부를 실제로 확인하는 것입니다. 이 예제 세트를 따라이 기능을 개발했습니다. CameraStarterKitUWP 응용 프로그램에서 다른 페이지로 이동했을 때 웹캠을 중지하는 방법
웹캠이나 카메라가없는 컴퓨터에서 코드를 테스트하면 메시지 프롬프트가 표시됩니다. 그러나 나는 응용 프로그램을 최소화하고 다시 열 때 프롬프트가 나타나기 때문에 페이지를 종료 할 때 카메라 장치가 있는지 여부를 확인하는 코드가 여전히 실행되고 있다고 생각합니다.
어쨌든 다른 페이지로 이동할 때 카메라가 연결되어 있는지 확인하기 위해 코드를 중지 할 수 있습니까?
private async Task SetUpBasedOnStateAsync()
{
// Avoid reentrancy: Wait until nobody else is in this function.
while (!_setupTask.IsCompleted)
{
await _setupTask;
}
// We want our UI to be active if
// * We are the current active page.
// * The window is visible.
// * The app is not suspending.
bool wantUIActive = _isActivePage && Window.Current.Visible && !_isSuspending;
if (_isUIActive != wantUIActive)
{
_isUIActive = wantUIActive;
Func<Task> setupAsync = async() =>
{
if (wantUIActive)
{
await SetupUiAsync();
await InitializeCameraAsync();
}
else
{
await CleanupCameraAsync();
await CleanupUiAsync();
}
};
_setupTask = setupAsync();
}
await _setupTask;
}
안녕하세요, 답장을 보내 주셔서 감사합니다. :) SetUpBasedOnStateAsync 메서드에 대한 코드를 추가했습니다. 어떻게 코드를 변경합니까? 또는 코드에서 무엇을 수정해야합니까? – thalassophile
@thalassophile 다른 페이지로 이동할 때 카메라가 있는지 여부를 코드가 검사 할 것이라고 말한 이유를 알지 못했습니다. MS 공식 코드 샘플을 테스트하면 다른 페이지로 이동할 때 코드가 카메라를 감지하는 대신 카메라를 정리합니다. –
시스템에 감지 된 카메라 장치가 없다는 메시지 대화 상자를 추가했습니다. 웹캠이 연결되지 않은 바탕 화면에서 메시지를 팝업으로 표시하고 명령 단추를 클릭하면 내 홈 페이지로 돌아갔습니다 ... 그러나 응용 프로그램을 최소화하고 다시 열면 메시지 대화 상자에 발견 된 카메라 장치가 없습니다. – thalassophile