构建 React 原生语音转文本听写应用

本文介绍如何使用React Native构建一个语音转文本的听写应用,包括安装和设置、构建用户界面、集成语音识别库。通过示例代码展示了如何处理语音识别功能的启动和停止,以及如何将结果保存到数据库。
摘要由CSDN通过智能技术生成

React Native 语音转文本功能是当今开发人员的常见用例。无论是一般用途还是辅助功能,项目中对语音转文本的需求都很可能在某个时候出现,这是我们作为开发人员应该准备在我们的应用程序中实现的功能。

构建一个 React 本机语音到文本应用程序

本文将向您展示如何使用 React Native 构建语音转文本听写应用程序。

  • 先决条件

  • 安装和设置

  • 构建用户界面

    • Home/index.tsx

    • Notes/index.tsx

  • 集成语音识别库

    • hooks/useCreateNote.ts

    • hooks/useNotes.ts

最终演示

先决条件

  • 节点.js

  • 安卓工作室

  • Xc颂歌

  • VS 代码

要在 iOS 上运行应用程序,您需要 macOS 和 Xcode 来编译和运行模拟器。

对于 Android,您可以使用 Android Studio 中的 Android Emulator,或者只需连接 Android 设备即可运行它。此外,如何下载和更新IE浏览器?只需三步轻松解决我们还将使用 VS Code 来构建应用程序。

安装和设置

在使用 React Native 构建移动应用程序时,有两种典型的方法。

一个使用Expo——一套围绕React Native构建的工具,旨在提高开发效率。另一种方法是使用 React Native CLI,这基本上就像从头开始,没有任何支持React Native 开发的工具集。

在本教程中,我们将使用 Expo,因此开发过程更易于管理。

让我们开始吧:

npm install -g expo-cli

全局安装世博会 CLI 后,可以使用以下命令初始化项目:

expo init <Name of Project>

在这里,我们将选择一个具有 TypeScript 配置的空白项目。如果您愿意,您还可以创建具有一些预定义功能的JavaScript版本。

一旦它为项目搭建了基架,您就可以运行适用于 Android 或 iOS 的应用程序。导航到该目录并运行以下 npm 命令之一:

- cd SpeechToTextAppDemo
- npm run android
- npm run ios
- npm run web

正如您在文件夹结构中看到的,如何修复联想电源管理器不起作用?怎么打开电源管理器? 是应用程序的入口点。 是一个世博会配置,用于配置项目加载和生成 Android 和 iOS 重建的方式。App.tsx``app.json

构建用户界面

上面显示的是一个简单的线框,我们将使用它来构建应用程序的 UI。

我们让它变得简单,因为我们想专注于功能 - 一旦我们构建了应用程序,您就可以根据需要对其进行自定义并在其上练习。

让我们首先在应用程序中构建导航。

要在 React Native 应用程序中实现导航,我们需要安装以下软件包:

npm install @react-navigation/bottom-tabs @react-navigation/native @expo/vector-icons

由于我们将在底部实现导航,因此我们需要安装 和 核心包。@react-navigation/bottom-tabs``@react-navigation/native

此外,要添加对图标和文本的支持,我们需要该包。@expo/vector-icons

对于导航,有三个组件:

  1. NavigationContainer

  2. Tab.Navigator

  3. Tab.Screen

把所有东西都包在里面. 趣知笔记有助于在不同组件之间导航,同时呈现组件本身。NavigationContainerTab.NavigatorTab.Screen

现在,我们将更改 ,包括导航功能:App.tsx

import { StatusBar } from "expo-status-bar";
import { FontAwesome5 } from "@expo/vector-icons";
import { StyleSheet, Text, View } from "react-native";
import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
import { NavigationContainer } from "@react-navigation/native";
import Home from "./components/Home";
import Notes from "./components/Notes";
const Tab = createBottomTabNavigator();
export default function App() {
  return (
    <NavigationContainer>
      <Tab.Navigator
        screenOptions={({ route }) => ({
          tabBarIcon: () => {
            let iconName = "record";
            if (route.name === "Record") {
              iconName = "record-vinyl";
            } else if (route.name === "History") {
              iconName = "history";
            }
            return <FontAwesome5 name={iconName} size={24} color="black" />;
          },
        })}
      >
        <Tab.Screen name="Record" component={Home} />
        <Tab.Screen name="History" component={Notes} />
      </Tab.Navigator>
    </NavigationContainer>
  );
}
const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: "#fff",
    alignItems: "center",
    justifyContent: "center",
  },
});

通过添加以下代码创建 和 组件:Home``Notes

Home/index.tsx

import { useState, useEffect } from "react";
import {
  View,
  Text,
  TextInput,
  StyleSheet,
  Button,
  Pressable,
} from "react-native";
export default function Home() {
  return (
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pxr007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值