|
@@ -51,31 +51,38 @@ let mediaStreamTrack = null; // 视频对象(全局)
|
|
|
let video;
|
|
|
let photoSize = 800;
|
|
|
let realSize = 1000;
|
|
|
-const cameraEmit = defineEmits(["uploadFinish", "resetSelect", "deleteAll"]);
|
|
|
+const cameraEmit = defineEmits([
|
|
|
+ "uploadFinish",
|
|
|
+ "resetSelect",
|
|
|
+ "deleteAll",
|
|
|
+ "selectOhos",
|
|
|
+ "cameraOhos",
|
|
|
+]);
|
|
|
|
|
|
const openMedia = async () => {
|
|
|
- visible.value = true;
|
|
|
- nextTick(() => {
|
|
|
- let constraints = {
|
|
|
- video: { width: photoSize, height: photoSize },
|
|
|
- audio: false,
|
|
|
- };
|
|
|
- //获得video摄像头
|
|
|
- video = document.getElementById("video");
|
|
|
- navigator.mediaDevices
|
|
|
- .getUserMedia(constraints)
|
|
|
- .then((mediaStream) => {
|
|
|
- console.log("mediaStream", mediaStream);
|
|
|
- // mediaStreamTrack = typeof mediaStream.stop === 'function' ? mediaStream : mediaStream.getTracks()[1];
|
|
|
- mediaStreamTrack = mediaStream.getVideoTracks();
|
|
|
- video.srcObject = mediaStream;
|
|
|
- video.play();
|
|
|
- })
|
|
|
- .catch((error) => {
|
|
|
- console.log("Error: " + error);
|
|
|
- ElMessage.error("没有找到设备,或者没有权限");
|
|
|
- });
|
|
|
- });
|
|
|
+ camera_ohos();
|
|
|
+ // visible.value = true;
|
|
|
+ // nextTick(() => {
|
|
|
+ // let constraints = {
|
|
|
+ // video: { width: photoSize, height: photoSize },
|
|
|
+ // audio: false,
|
|
|
+ // };
|
|
|
+ // //获得video摄像头
|
|
|
+ // video = document.getElementById("video");
|
|
|
+ // navigator.mediaDevices
|
|
|
+ // .getUserMedia(constraints)
|
|
|
+ // .then((mediaStream) => {
|
|
|
+ // console.log("mediaStream", mediaStream);
|
|
|
+ // // mediaStreamTrack = typeof mediaStream.stop === 'function' ? mediaStream : mediaStream.getTracks()[1];
|
|
|
+ // mediaStreamTrack = mediaStream.getVideoTracks();
|
|
|
+ // video.srcObject = mediaStream;
|
|
|
+ // video.play();
|
|
|
+ // })
|
|
|
+ // .catch((error) => {
|
|
|
+ // console.log("Error: " + error);
|
|
|
+ // ElMessage.error("没有找到设备,或者没有权限");
|
|
|
+ // });
|
|
|
+ // });
|
|
|
};
|
|
|
|
|
|
function dataURItoBlob(base64Data) {
|
|
@@ -132,17 +139,18 @@ function closeMedia() {
|
|
|
const visible = ref(false);
|
|
|
|
|
|
const selectFile = () => {
|
|
|
- let input = document.getElementById("fileInput");
|
|
|
- input.click();
|
|
|
- input.onchange = function () {
|
|
|
- let file = this.files[0];
|
|
|
- if (file) {
|
|
|
- uploadFileApi(file).then((res) => {
|
|
|
- cameraEmit("uploadFinish", res.data.fileUrl);
|
|
|
- input.value = "";
|
|
|
- });
|
|
|
- }
|
|
|
- };
|
|
|
+ select_ohos();
|
|
|
+ // let input = document.getElementById("fileInput");
|
|
|
+ // input.click();
|
|
|
+ // input.onchange = function () {
|
|
|
+ // let file = this.files[0];
|
|
|
+ // if (file) {
|
|
|
+ // uploadFileApi(file).then((res) => {
|
|
|
+ // cameraEmit("uploadFinish", res.data.fileUrl);
|
|
|
+ // input.value = "";
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ // };
|
|
|
};
|
|
|
|
|
|
const clickReset = () => {
|
|
@@ -152,6 +160,15 @@ const clickReset = () => {
|
|
|
const clickDeleteAll = () => {
|
|
|
cameraEmit("deleteAll");
|
|
|
};
|
|
|
+
|
|
|
+// 适配鸿蒙
|
|
|
+const select_ohos = () => {
|
|
|
+ cameraEmit("selectOhos");
|
|
|
+};
|
|
|
+
|
|
|
+const camera_ohos = () => {
|
|
|
+ cameraEmit("cameraOhos");
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|