CameraView
Это открытый компонент Ohos с имитацией камеры от WeChat.
Возможности:
Ссылка
Способ 1: Создайте har-пакет через library и добавьте его в папку libs. В файле entry gradle добавьте следующий код:
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
Способ 2:
allprojects{
repositories{
mavenCentral()
}
}
implementation 'io.openharmony.tpc.thirdlib:camera-view:1.0.5'
Использование:
<com.cjt2325.cameralibrary.JCameraView
ohos:id="$+id:jcameraview"
ohos:height="match_parent"
ohos:width="match_parent"
/>
Права доступа:
"reqPermissions": [
{
"name": "ohos.permission.CAMERA"
},
{
"name": "ohos.permission.WRITE_USER_STORAGE"
},
{
"name": "ohos.permission.MICROPHONE"
}
]
Полноэкранный режим:
getWindow().setStatusBarVisibility(Component.INVISIBLE);
"metaData":{
"customizeData": [
{
"name": "hwc-theme",
"value": "androidhwext:style/Theme.Emui.NoTitleBar",
"extra": ""
}
]
}
Инициализация JCameraView:
getWindow().setTransparent(true);
mJCameraView = (JCameraView) findComponentById(ResourceTable.Id_jcameraview);
mJCameraView.setSaveVideoPath(getFilesDir() + File.separator + "JCamera");
mJCameraView.setIconLeftAndRight(ResUtils.getVectorDrawable(getAbility(), ResourceTable.Graphic_ic_back),
ResUtils.getVectorDrawable(getAbility(), ResourceTable.Graphic_ic_photo));
mJCameraView.setTip("自定义中间提醒标题");
mJCameraView.setErrorListener((errorString, type) -> LogUtil.error(LogUtil.DEFAULT_TAG, "errorString:" + errorString));
mJCameraView.setJCameraListener(new JCameraListener() {
@Override
public void captureSuccess(PixelMap bitmap) {
String filUrl = FileUtil.saveBitmap("JCamera", bitmap, getContext());
Intent fileIntent = new Intent();
fileIntent.setParam("PHOTO_URL", filUrl);
setResult(fileIntent);
terminate();
}
@Override
public void recordSuccess(String url) {
LogUtil.error(LogUtil.DEFAULT_TAG, "recordSuccess");
}
});
mJCameraView.setLeftClickListener(() -> {
setResult(new Intent());
terminate();
});
mJCameraView.setRightClickListener(() ->
LogUtil.info(LogUtil.DEFAULT_TAG, "Click Right")
);
Жизненный цикл JCameraView:
@Override
public void onActive() {
super.onActive();
if (mJCameraView != null) {
mJCameraView.onResume();
}
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
if (mJCameraView != null) {
mJCameraView.onPause();
}
}
Запустите через DevEco studio и скачайте SDK. В build.gradle файле проекта измените версию classpath на соответствующую версии вашего IDE для нового проекта.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )