UNPKG

ze-react-component-library

Version:
66 lines (50 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("antd/lib/message/style"); var _message2 = _interopRequireDefault(require("antd/lib/message")); var _chatDialog = require("chat-dialog"); var _react = require("react"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var useRecorder = function useRecorder() { var _a = (0, _react.useState)(false), isRecording = _a[0], setIsRecording = _a[1]; var recorderRef = (0, _react.useRef)(); var start = function start(onError) { var recorder = recorderRef.current; if (recorder) { try { recorder.start(); setIsRecording(true); } catch (error) { _message2.default.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); } }; (0, _react.useEffect)(function () { var recorder = new _chatDialog.Recorder({}); recorderRef.current = recorder; }, []); return { start: start, stop: stop, isRecording: isRecording }; }; var _default = useRecorder; exports.default = _default;