1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/HarmonyOS-tpc-CameraView

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

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();
            }
        }

Изображения

Запуск entry

Запустите через DevEco studio и скачайте SDK. В build.gradle файле проекта измените версию classpath на соответствующую версии вашего IDE для нового проекта.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/HarmonyOS-tpc-CameraView.git
git@api.gitlife.ru:oschina-mirror/HarmonyOS-tpc-CameraView.git
oschina-mirror
HarmonyOS-tpc-CameraView
HarmonyOS-tpc-CameraView
master