当前位置: 首页 > wzjs >正文

北京网站建设公司资讯疫情最新数据

北京网站建设公司资讯,疫情最新数据,wordpress国外主题 雅黑,绍兴市交通建设有限公司网站核心功能: 打开摄像头(可支持外接摄像头)检测翻页(后续考虑添加图像差异算法)拍照后用 识图自动用 TextToSpeech 朗读文字内容 📌 说明:使用了 CameraX(Android Jetpack)…

核心功能:

  • 打开摄像头(可支持外接摄像头)
  • 检测翻页(后续考虑添加图像差异算法)
  • 拍照后用 识图
  • 自动用 TextToSpeech 朗读文字内容

📌 说明:

  • 使用了 CameraX(Android Jetpack)处理摄像头输入

  • 使用 ML Kit 做文字识别

  • 使用 TextToSpeech 实现朗读

// Project: StoryBookReaderApp
// MainActivity.java — Android Studio 项目主类package com.example.storybookreaderapp;import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import android.view.SurfaceView;
import android.widget.Toast;import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.ImageAnalysis;
import androidx.camera.core.ImageCapture;
import androidx.camera.core.ImageCaptureException;
import androidx.camera.core.ImageProxy;
import androidx.camera.lifecycle.ProcessCameraProvider;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;import com.google.common.util.concurrent.ListenableFuture;
import com.google.mlkit.vision.common.InputImage;
import com.google.mlkit.vision.text.TextRecognition;
import com.google.mlkit.vision.text.TextRecognizer;import java.util.Locale;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class MainActivity extends AppCompatActivity {private static final int REQUEST_CODE_PERMISSIONS = 10;private static final String[] REQUIRED_PERMISSIONS = new String[]{Manifest.permission.CAMERA};private ExecutorService cameraExecutor;private ImageCapture imageCapture;private TextToSpeech tts;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);SurfaceView view = new SurfaceView(this);setContentView(view);if (allPermissionsGranted()) {startCamera();} else {ActivityCompat.requestPermissions(this, REQUIRED_PERMISSIONS, REQUEST_CODE_PERMISSIONS);}cameraExecutor = Executors.newSingleThreadExecutor();tts = new TextToSpeech(this, status -> {if (status != TextToSpeech.ERROR) {tts.setLanguage(Locale.US);}});}private boolean allPermissionsGranted() {for (String permission : REQUIRED_PERMISSIONS) {if (ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) {return false;}}return true;}private void startCamera() {ListenableFuture<ProcessCameraProvider> cameraProviderFuture = ProcessCameraProvider.getInstance(this);cameraProviderFuture.addListener(() -> {try {ProcessCameraProvider cameraProvider = cameraProviderFuture.get();imageCapture = new ImageCapture.Builder().build();ImageAnalysis imageAnalysis = new ImageAnalysis.Builder().build();imageAnalysis.setAnalyzer(cameraExecutor, image -> {detectPageTurn(image);image.close();});CameraSelector cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA;cameraProvider.unbindAll();cameraProvider.bindToLifecycle(this, cameraSelector, imageCapture, imageAnalysis);} catch (Exception e) {Log.e("CameraX", "Binding failed", e);}}, ContextCompat.getMainExecutor(this));}private void detectPageTurn(ImageProxy image) {takePhotoAndRead();}private void takePhotoAndRead() {imageCapture.takePicture(ContextCompat.getMainExecutor(this), new ImageCapture.OnImageCapturedCallback() {@Overridepublic void onCaptureSuccess(@NonNull ImageProxy image) {InputImage inputImage = InputImage.fromMediaImage(image.getImage(), image.getImageInfo().getRotationDegrees());TextRecognizer recognizer = TextRecognition.getClient();recognizer.process(inputImage).addOnSuccessListener(result -> {String text = result.getText();tts.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);}).addOnFailureListener(e -> Toast.makeText(MainActivity.this, "Text recognition failed", Toast.LENGTH_SHORT).show());image.close();}@Overridepublic void onError(@NonNull ImageCaptureException exception) {Log.e("CameraX", "Capture failed", exception);}});}@Overrideprotected void onDestroy() {if (tts != null) {tts.stop();tts.shutdown();}cameraExecutor.shutdown();super.onDestroy();}@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {if (requestCode == REQUEST_CODE_PERMISSIONS) {if (allPermissionsGranted()) {startCamera();} else {Toast.makeText(this, "Permissions not granted", Toast.LENGTH_SHORT).show();finish();}}}
} // End of class
http://www.dtcms.com/wzjs/336735.html

相关文章:

  • c web网站开发快速seo主要做什么
  • wordpress搭建付费网站天津疫情最新消息
  • 做网站服务器要什么系统广告优化师工作内容
  • 广州网站建设制作价格网站优化团队
  • 建设一个网站软文广告发稿
  • 公司做的局域网网站怎么登陆海外网站建站
  • 墙绘做网站推广有作用没附近电脑培训班位置
  • 网站设计建设公司近期国际热点大事件
  • 佛山网站建设设计爱站网能不能挖掘关键词
  • app推广放单平台宁波seo关键词排名优化
  • 最好的网站建设公司哪家好如何让百度收录自己的网站信息
  • 英文网站模板公司品牌推广方案范文
  • 提交收录网站中国推广网站
  • 帝国 织梦 wordpressaso优化违法吗
  • dooor网站怎么做推广和宣传平台
  • 委托他人建设的网站的侵权责任网页制作基础教程
  • 天马网络 网站建设黄桃图片友情链接
  • 邢台网站制作怎么样网络视频营销
  • jsp怎样做网站中央新闻
  • 园区网站建设方案永久免费域名申请
  • 网址推荐网页设计素材网站seo关键词排名
  • 新手做网页做那个网站简单百度医生在线问诊
  • 怎么制作购物网站百度推广销售员的工作内容
  • 电脑网页打不开建设银行网站网络营销的营销理念
  • 动态网站开发常见语言怎么做网站
  • 锦州网站制作网站查询站长工具
  • 发布任务做任务赚钱网站b站推广引流最佳方法
  • 广西住房和城乡建设厅官方网站营销互联网推广公司
  • 商用图片做公司网站可以吗河北软文搜索引擎推广公司
  • 可以自己企业网站制作seo推广哪家好