UNPKG

ze-react-component-library

Version:
53 lines (43 loc) 1.26 kB
import "antd/es/message/style"; import _message from "antd/es/message"; import { Recorder } from "chat-dialog"; import { useEffect, useRef, useState } from "react"; var useRecorder = function useRecorder() { var _a = useState(false), isRecording = _a[0], setIsRecording = _a[1]; var recorderRef = useRef(); var start = function start(onError) { var recorder = recorderRef.current; if (recorder) { try { recorder.start(); setIsRecording(true); } catch (error) { _message.error("无法打开录音设备,请确保浏览器权限设置正确"); setIsRecording(false); onError === null || onError === void 0 ? void 0 : onError(); // 退出去 } } }; var stop = function stop(callback) { var recorder = recorderRef.current; if (recorder) { recorder.callback = function (e) { callback === null || callback === void 0 ? void 0 : callback(e.blob); }; recorder.stop(); setIsRecording(false); } }; useEffect(function () { var recorder = new Recorder({}); recorderRef.current = recorder; }, []); return { start: start, stop: stop, isRecording: isRecording }; }; export default useRecorder;