1.1.17 • Published 4 months ago
react-native-microphone v1.1.17
react-native-microphone
Biblioteca para integração com Bluetooth SCO e reconhecimento de voz no React Native.
📌 Funcionalidades
- Conexão automática com dispositivos Bluetooth SCO
- Reconhecimento de voz contínuo
- Reativação automática da conexão Bluetooth SCO se for desconectada
- Integração com
expo-speech
para sintetização de fala
📦 Instalação
npm install react-native-microphone
Ou com Yarn:
yarn add react-native-microphone
🔧 Permissões Necessárias
No AndroidManifest.xml
, adicione as seguintes permissões:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
🚀 Como Usar
Exemplo de uso no React Native:
import { Alert, PermissionsAndroid, Platform } from "react-native";
import { startBluetoothSco, startVoiceRecognition } from 'react-native-microphone';
import * as Speech from 'expo-speech';
async function requestPermission() {
if (Platform.OS === 'android') {
await PermissionsAndroid.requestMultiple([
PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT,
PermissionsAndroid.PERMISSIONS.RECORD_AUDIO,
]);
}
}
export async function StartBluetooth() {
try {
await requestPermission();
if (startBluetoothSco) {
await startBluetoothSco();
console.log("Connecting to Bluetooth");
}
} catch (error) {
console.error("Erro ao conectar Bluetooth SCO", error);
}
}
export function StartSpeech() {
StartBluetooth();
startVoiceRecognition();
}
export function Speaker(text: string, onDone?: () => void) {
Speech.speak(text, {
language: 'pt-BR',
_voiceIndex: 1,
pitch: 1,
rate: 1.5,
onDone: onDone,
});
}
📡 Eventos
A biblioteca emite eventos via DeviceEventManagerModule
. Para capturar os resultados do reconhecimento de voz:
import { useEffect, useState } from 'react';
import { DeviceEventEmitter } from 'react-native';
const [voiceResult, setVoiceResult] = useState("");
useEffect(() => {
const subscription = DeviceEventEmitter.addListener('onVoiceRecognitionResult', (event) => {
setVoiceResult(event.result);
console.log("Reconhecimento de voz:", event.result);
});
return () => subscription.remove();
}, []);
🛠 Manutenção da Conexão Bluetooth SCO
Para garantir que a conexão não seja perdida, a biblioteca monitora mudanças no estado do Bluetooth SCO e reconecta automaticamente caso seja desconectado.
Se precisar de melhorias ou encontrar bugs, abra uma issue! 🚀
1.0.2
7 months ago
1.0.1
7 months ago
1.0.0
7 months ago
1.1.17
4 months ago
1.0.9
5 months ago
1.0.8
5 months ago
1.0.7
5 months ago
1.0.6
5 months ago
1.0.5
5 months ago
1.0.4
7 months ago
1.0.3
7 months ago
0.1.1
7 months ago
1.1.12
4 months ago
1.1.11
4 months ago
1.1.10
5 months ago
1.1.16
4 months ago
1.1.15
4 months ago
1.1.14
4 months ago
0.1.0
8 months ago