Поделиться через


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
Наследование
CameraCaptureSession
Производный
Атрибуты
Реализации

Комментарии

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

Оператор CameraCaptureSession создается путем предоставления набора целевых поверхностей выходных данных для или предоставления android.hardware.camera2.params.InputConfiguration и набора целевых выходных поверхностей CameraDevice#createCaptureSession createCaptureSessionCameraDevice#createReprocessableCaptureSession createReprocessableCaptureSession для повторно обработанного сеанса захвата. После создания сеанс активен до создания нового сеанса устройством камеры или устройством камеры.

Все сеансы захвата можно использовать для записи изображений с камеры, но только повторно обработанные сеансы захвата могут повторно обрабатывать изображения, захваченные с камеры в том же сеансе ранее.

Создание сеанса является дорогостоящей операцией и может занять несколько сотен миллисекунд, так как для этого требуется настройка внутренних конвейеров устройства камеры и выделение буферов памяти для отправки изображений в нужные целевые объекты. Поэтому настройка выполняется асинхронно и CameraDevice#createCaptureSession createCaptureSessionCameraDevice#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

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Device

Получите устройство камеры, для этого сеанса.

Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
InputSurface

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

IsReprocessable

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

JniIdentityHashCode

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

(Унаследовано от Object)
JniPeerMembers

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

PeerReference

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

(Унаследовано от Object)
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()

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

(Унаследовано от Object)
Dispose(Boolean)

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

(Унаследовано от Object)
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()

Отмена любой постоянно повторяющейся записи, заданной либо #setRepeatingRequest setRepeatingRequest#setRepeatingBurst.

SupportsOfflineProcessing(Surface)

Запрос на то, поддерживает ли данный Surface автономный режим.

SwitchToOffline(ICollection<Surface>, IExecutor, CameraOfflineSession+CameraOfflineSessionCallback)

Переключите текущий сеанс захвата и заданный набор зарегистрированных поверхностей камеры в режим автономной обработки.

ToArray<T>()

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

(Унаследовано от Object)
UpdateOutputConfiguration(OutputConfiguration)

Обновление OutputConfiguration после завершения конфигурации см. в разделе #finalizeOutputConfigurations.

Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

GetJniTypeName(IJavaPeerable)

Настроенный сеанс захвата для сеанса, используемый для CameraDeviceзаписи изображений с камеры или повторной обработки изображений, захваченных с камеры в том же сеансе ранее.

Применяется к