CameraCaptureSession Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Настроенный сеанс захвата для сеанса, используемый для CameraDevice
записи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.
[Android.Runtime.Register("android/hardware/camera2/CameraCaptureSession", DoNotGenerateAcw=true)]
public abstract class CameraCaptureSession : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IAutoCloseable
[<Android.Runtime.Register("android/hardware/camera2/CameraCaptureSession", DoNotGenerateAcw=true)>]
type CameraCaptureSession = class
inherit Object
interface IAutoCloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Наследование
- Производный
- Атрибуты
- Реализации
Комментарии
Настроенный сеанс захвата для сеанса, используемый для CameraDevice
записи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.
Оператор CameraCaptureSession создается путем предоставления набора целевых поверхностей выходных данных для или предоставления android.hardware.camera2.params.InputConfiguration
и набора целевых выходных поверхностей CameraDevice#createCaptureSession createCaptureSession
CameraDevice#createReprocessableCaptureSession createReprocessableCaptureSession
для повторно обработанного сеанса захвата. После создания сеанс активен до создания нового сеанса устройством камеры или устройством камеры.
Все сеансы захвата можно использовать для записи изображений с камеры, но только повторно обработанные сеансы захвата могут повторно обрабатывать изображения, захваченные с камеры в том же сеансе ранее.
Создание сеанса является дорогостоящей операцией и может занять несколько сотен миллисекунд, так как для этого требуется настройка внутренних конвейеров устройства камеры и выделение буферов памяти для отправки изображений в нужные целевые объекты. Поэтому настройка выполняется асинхронно и CameraDevice#createCaptureSession createCaptureSession
CameraDevice#createReprocessableCaptureSession createReprocessableCaptureSession
отправляет готовое к использованию CameraCaptureSession обратному вызову предоставленного прослушивателя CameraCaptureSession.StateCallback#onConfigured onConfigured
. Если конфигурация не может быть завершена, CameraCaptureSession.StateCallback#onConfigureFailed onConfigureFailed
вызывается и сеанс не станет активным.
<!--
Все запросы записи (повторяющиеся или не повторяющиеся) перед тем, как сеанс будет готов, будут в очереди и начнут записываться после того, как сеанс станет готов. Если сеанс не может быть настроен и StateCallback#onConfigureFailed onConfigureFailed
вызывается, все запросы записи в очереди удаляются.
-->
Если устройство камеры создает новый сеанс, то предыдущий сеанс закрывается, а связанный StateCallback#onClosed onClosed
обратный вызов будет вызван. Все методы сеанса создают исключение IllegalStateException, если вызывается после закрытия сеанса.
Закрытый сеанс очищает все повторяющиеся запросы (как если бы #stopRepeating
он был вызван), но по-прежнему завершит все его запросы на запись в процессе выполнения, как обычно, прежде чем только что созданный сеанс перенаправит устройство камеры и перенастроит его.
Документация по Java для android.hardware.camera2.CameraCaptureSession
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Конструкторы
CameraCaptureSession() | |
CameraCaptureSession(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
Свойства
Class |
Возвращает класс среды выполнения этого |
Device |
Получите устройство камеры, для этого сеанса. |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
InputSurface |
Настроенный сеанс захвата для сеанса, используемый для |
IsReprocessable |
Настроенный сеанс захвата для сеанса, используемый для |
JniIdentityHashCode |
Настроенный сеанс захвата для сеанса, используемый для |
JniPeerMembers |
Настроенный сеанс захвата для сеанса, используемый для |
PeerReference |
Настроенный сеанс захвата для сеанса, используемый для |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
AbortCaptures() |
Отмените все записи, ожидающие и выполняющиеся в данный момент, как можно быстрее. |
Capture(CaptureRequest, CameraCaptureSession+CaptureCallback, Handler) |
Отправьте запрос на запись изображения устройством камеры. |
CaptureBurst(IList<CaptureRequest>, CameraCaptureSession+CaptureCallback, Handler) |
Отправьте список запросов, которые будут записаны в последовательности в виде всплеска. |
CaptureBurstRequests(IList<CaptureRequest>, IExecutor, CameraCaptureSession+CaptureCallback) |
Отправьте список запросов, которые будут записаны в последовательности в виде всплеска. |
CaptureSingleRequest(CaptureRequest, IExecutor, CameraCaptureSession+CaptureCallback) |
Отправьте запрос на запись изображения устройством камеры. |
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
Close() |
Закройте этот сеанс записи асинхронно. |
Dispose() |
Настроенный сеанс захвата для сеанса, используемый для |
Dispose(Boolean) |
Настроенный сеанс захвата для сеанса, используемый для |
Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
FinalizeOutputConfigurations(IList<OutputConfiguration>) |
Завершите выходные конфигурации, которые теперь имеют свои отложенные и(или) дополнительные поверхности. |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
JavaFinalize() |
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
Notify() |
Пробуждение одного потока, ожидающего монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
Prepare(Surface) |
Предварительно выделите все буферы для выходной поверхности. |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
SetRepeatingBurst(IList<CaptureRequest>, CameraCaptureSession+CaptureCallback, Handler) |
Запрос бесконечно повторяющегося захвата последовательности изображений с помощью этого сеанса записи. |
SetRepeatingBurstRequests(IList<CaptureRequest>, IExecutor, CameraCaptureSession+CaptureCallback) |
Запрос бесконечно повторяющегося захвата последовательности изображений с помощью этого сеанса записи. |
SetRepeatingRequest(CaptureRequest, CameraCaptureSession+CaptureCallback, Handler) |
Запрос бесконечного повторения записи изображений с помощью этого сеанса записи. |
SetSingleRepeatingRequest(CaptureRequest, IExecutor, CameraCaptureSession+CaptureCallback) |
Запрос бесконечного повторения записи изображений с помощью этого сеанса записи. |
StopRepeating() |
Отмена любой постоянно повторяющейся записи, заданной либо |
SupportsOfflineProcessing(Surface) |
Запрос на то, поддерживает ли данный Surface автономный режим. |
SwitchToOffline(ICollection<Surface>, IExecutor, CameraOfflineSession+CameraOfflineSessionCallback) |
Переключите текущий сеанс захвата и заданный набор зарегистрированных поверхностей камеры в режим автономной обработки. |
ToArray<T>() |
Настроенный сеанс захвата для сеанса, используемый для |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
Настроенный сеанс захвата для сеанса, используемый для |
UpdateOutputConfiguration(OutputConfiguration) |
Обновление |
Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>. (Унаследовано от Object) |
Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
IJavaPeerable.Disposed() |
Настроенный сеанс захвата для сеанса, используемый для |
IJavaPeerable.DisposeUnlessReferenced() |
Настроенный сеанс захвата для сеанса, используемый для |
IJavaPeerable.Finalized() |
Настроенный сеанс захвата для сеанса, используемый для |
IJavaPeerable.JniManagedPeerState |
Настроенный сеанс захвата для сеанса, используемый для |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Настроенный сеанс захвата для сеанса, используемый для |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Настроенный сеанс захвата для сеанса, используемый для |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Настроенный сеанс захвата для сеанса, используемый для |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Настроенный сеанс захвата для сеанса, используемый для |
GetJniTypeName(IJavaPeerable) |
Настроенный сеанс захвата для сеанса, используемый для |