Aby zachować zgodność z naszym modelem rozwoju gałęzi głównej i zapewnić stabilność platformy w ekosystemie, w II i IV kwartale 2026 r. opublikujemy kod źródłowy w AOSP. Do tworzenia i współtworzenia AOSP zalecamy używanie android-latest-release zamiast aosp-main. Gałąź android-latest-release manifestu zawsze będzie odnosić się do najnowszej wersji przesłanej do AOSP. Więcej informacji znajdziesz w sekcji Zmiany w AOSP.
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
Transport bufora kamery z jednego źródła do wielu odbiorców
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Ta funkcja wprowadza zestaw metod, które umożliwiają klientom aparatu dynamiczne dodawanie i usuwanie powierzchni wyjściowych podczas aktywnej sesji przechwytywania i trwającego przesyłania strumieniowego z aparatu. Nowe wyjście może być mapowane na konkretny, wybrany przez użytkownika strumień z kamery współdzielonej. Dodaną platformę możesz w każdej chwili usunąć.
Ogólna idea polega na udostępnianiu buforów powiązanych z określonym strumieniem z kamery na kilku powierzchniach wyjściowych. Wewnętrzny licznik odwołań śledzi bufory, gdy są one gotowe do dalszego przetwarzania po stronie klienta.
Gdy wszyscy konsumenci wykonają swoje zadania, bufor zostanie usunięty z kolejki i będzie dostępny dla aparatu.
Rysunek 1. Udostępnianie bufora
Ilustracja 1 przedstawia przykładowy scenariusz, w którym bufory przetwarzane przez strumień 2 kamery są dynamicznie dołączane i odłączane, zliczane i zarządzane przez komponent rozdzielacza strumieni w ramach dedykowanego udostępnionego strumienia wyjściowego w usłudze aparatu.
Przykłady i źródło
Główną implementację tej funkcji znajdziesz w module
Camera3StreamSplitter. Dokumentację tej funkcji znajdziesz w dokumentacji dla deweloperów:
Implementacja
Po stronie HAL aparatu nie jest wymagana żadna implementacja, ponieważ ta funkcja jest implementowana po stronie platformy.
Weryfikacja
Implementacja musi przejść testy CTS, które obejmują tę funkcję z modułu MultiViewTest i natywnej biblioteki JNI dla natywnego interfejsu API.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-12-03 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-12-03 UTC."],[],[]]