/*
* Copyright (c) 2025 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { CommonConstants as Const } from '../common/CommonConstants';
import { CameraDataModel } from '../model/CameraDateModel';
import { CameraController } from '../controller/CameraController';
@Component
export struct StartLiveRenderView {
@Consume('pageStack') pageStack: NavPathStack;
@Consume cameraController: CameraController;
private xComponentSurfaceId: string = Const.DEFAULT_ID;
private xComponentController: XComponentController = new XComponentController();
build() {
Stack() {
XComponent({
id: 'recorderXComponent',
type: XComponentType.SURFACE,
controller: this.xComponentController
})
.onLoad(() => {
this.xComponentSurfaceId = this.xComponentController.getXComponentSurfaceId();
this.cameraController.createRecorder();
this.cameraController.startNative(this.xComponentSurfaceId);
})
.width('100%')
.height('100%')
.expandSafeArea(
[SafeAreaType.SYSTEM, SafeAreaType.CUTOUT],
[SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]
);
}
.expandSafeArea();
}
}