1

現在、ユーザーがアプリから離れたときにカメラを一時停止し、ユーザーがアプリに戻ったときにカメラを再開したいと考えています

アプリケーション ライフサイクル (Windows ストア アプリ) (Windows)について言及しています。

ただし、一時停止 | ユーザーがアプリから切り替えると、一時停止イベントがすぐにトリガーされません。数秒間待つ必要があります (または、OS がそうしないことを決定した場合は、まったくトリガーされません)。

では、ユーザーがアプリから切り替えたときに、いつカメラの一時停止コードを実行する必要があるかを知るにはどうすればよいでしょうか。

キャプチャ デバイス サンプルを使用したメディア キャプチャについて言及すると、彼らは使用しています。

Windows.Media.MediaControl.SoundLevelChanged += m_soundLevelHandler;

サウンド レベルが変化したときに、カメラ サスペンション コードを実行しますか? しかし、これも私が望むものではありません。イベントを検出すると、ユーザーがアプリから切り替えているのか、アプリ戻っているSoundLevelChangedのかを知ることができません。イベントは両方のシナリオでトリガーされます。SoundLevelChanged

4

1 に答える 1

2

あなたが参照したMSDNの記事から。

アプリの可視性 ユーザーがアプリから別のアプリに切り替えると、アプリは表示されなくなりますが、Windows が中断できるようになるまで (約 10 秒間) 実行状態のままになります。ユーザーがアプリから切り替えた後、Windows がアプリを一時停止する前にアプリをアクティブ化または元に戻した場合、アプリは実行中の状態のままになります。アプリがまだ実行されているため、アプリの可視性が変更されても、アプリはアクティブ化イベントを受け取りません。Windows は、必要に応じてアプリとの間を切り替えるだけです。ユーザーが切り替えて元に戻すときにアプリが何かを行う必要がある場合は、VisibilityChanged| を処理できます。msvisibilitychangeイベント。可視性イベントは、再開イベントまたはアクティベーション イベントではシリアル化されません。これらのイベントが特定の順序で発生すると仮定しないでください。

VisibilityChangedEventをチェックしてください

于 2013-07-16T12:53:58.670 に答える