react-media-recorder
Advanced tools
Comparing version 0.1.2 to 0.1.3
@@ -1,1 +0,1 @@ | ||
module.exports = require("./lib"); | ||
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var React=_interopDefault(require("react")),PropTypes=_interopDefault(require("prop-types")),asyncToGenerator=function(e){return function(){var t=e.apply(this,arguments);return new Promise(function(e,r){return function o(n,a){try{var i=t[n](a),s=i.value}catch(e){return void r(e)}if(!i.done)return Promise.resolve(s).then(function(e){o("next",e)},function(e){o("throw",e)});e(s)}("next")})}},classCallCheck=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},inherits=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},possibleConstructorReturn=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},ReactMediaRecorder=function(e){function t(e){var r=this;classCallCheck(this,t);var o=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));if(o.state={status:"idle"},o.chunks=[],o.componentDidMount=asyncToGenerator(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.getMediaStream();case 2:o.stream=e.sent,o.stream||o.setState({status:"permission_denied"});case 4:case"end":return e.stop()}},e,r)})),o.getMediaStream=asyncToGenerator(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,window.navigator.mediaDevices.getUserMedia(o.requiredMedia);case 3:return t=e.sent,e.abrupt("return",t);case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",!1);case 10:case"end":return e.stop()}},e,r,[[0,7]])})),o.onRecordingStop=function(){var e=new Blob(o.chunks,o.blobPropertyBag),t=URL.createObjectURL(e);o.setState({mediaBlob:t})},o.onRecordingActive=function(e){var t=e.data;o.chunks.push(t)},o.initMediaRecorder=function(e){var t=new MediaRecorder(e);return t.ondataavailable=o.onRecordingActive,t.onstop=o.onRecordingStop,t.onerror=function(){return o.setState({status:"recorder_error"})},t},o.startRecording=asyncToGenerator(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(o.stream&&(!o.stream||o.stream.active)){e.next=10;break}return e.next=3,o.getMediaStream();case 3:if(!(t=e.sent)){e.next=8;break}o.stream=t,e.next=10;break;case 8:return o.setState({status:"permission_denied"}),e.abrupt("return");case 10:o.mediaRecorder=o.initMediaRecorder(o.stream),o.chunks=[],o.setState({mediaBlob:null}),o.mediaRecorder.start(),o.setState({status:"recording"});case 15:case"end":return e.stop()}},e,r)})),o.stopRecording=function(){o.mediaRecorder&&"inactive"!==o.mediaRecorder.state&&(o.mediaRecorder.stop(),o.setState({status:"stopped"}))},o.render=function(){return o.props.render({status:o.state.status,startRecording:o.startRecording,stopRecording:o.stopRecording,mediaBlob:o.state.mediaBlob})},!window.MediaRecorder)throw new Error("React Media Recorder: Unsupported browser");var n=e.audio,a=e.video,i=e.blobPropertyBag,s=void 0===i?a?{type:"video/mp4"}:{type:"audio/wav"}:i;return o.requiredMedia={audio:"boolean"==typeof n?!!n:n,video:"boolean"==typeof a?!!a:a},o.blobPropertyBag=s,o}return inherits(t,e),t}(React.Component);ReactMediaRecorder.propTypes={audio:PropTypes.oneOfType([PropTypes.bool,PropTypes.object]),video:PropTypes.oneOfType([PropTypes.bool,PropTypes.object]),render:PropTypes.func.isRequired,blobPropertyBag:PropTypes.object},ReactMediaRecorder.defaultProps={audio:!0,render:function(){return null}},module.exports=ReactMediaRecorder; |
{ | ||
"name": "react-media-recorder", | ||
"version": "0.1.2", | ||
"version": "0.1.3", | ||
"description": | ||
@@ -11,2 +11,3 @@ "A React component based on MediaRecorder() API to record audio/video streams", | ||
}, | ||
"files": ["lib"], | ||
"repository": { | ||
@@ -13,0 +14,0 @@ "type": "git", |
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
13305
5
32
3