UNPKG

zdpjs_webrtc

Version:
947 lines (317 loc) 17.1 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>EasyRTC Documentation</title> <script src="scripts/prettify/prettify.js"> </script> <script src="scripts/prettify/lang-css.js"> </script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> <link href="../assets/easyrtc-docs-jsdoc-styles-1.css" media="all" rel="stylesheet" /> </head> <body> <header class="template"> <div class="wrapper-content"> <a href="../index.html"><img src="../assets/easyrtc-logo.png" alt="EasyRTC Documentation"></a> <h1 title="EasyRTC Documentation">Documentation</h1> </div> </header> <div class="wrapper-docs"> <nav> <h2><a href="../index.html">Docs Home</a></h2> <h3>EasyRTC Guides</h3> <ul> <li><a href="../easyrtc_faq.html">FAQ</a></li> <li><a href="../easyrtc_gettingStarted.html">Getting Started</a></li> <li><a href="../easyrtc_server_install.html">EasyRTC Server: Installation</a></li> <li><a href="../easyrtc_client_tutorial.html">EasyRTC Framework Tutorial</a></li> <li><a href="../easyrtc_rooms.html">Rooms</a></li> <li><a href="../easyrtc_server_configuration.html">EasyRTC Server: Configuration</a></li> <li><a href="../easyrtc_server_events.html">EasyRTC Server: Events</a></li> <li><a href="../easyrtc_server_ice.html">EasyRTC Server: ICE Configuration</a></li> <li><a href="../easyrtc_with_other_servers.html">Using Alongside Other Servers</a></li> <li><a href="../easyrtc_server_ssl.html">EasyRTC Server: Using SSL</a></li> <li><a href="../easyrtc_webrtc_problems.html">WebRTC Problems and Possible Fixes</a></li> <li><a href="../easyrtc_upcoming_features.html">Upcoming Features</a></li> <li><a href="../easyrtc_changelog.html">Change Log</a></li> </ul> <h3>EasyRTC Client Classes</h3> <ul> <li><a href="../client-api/Easyrtc.html">Easyrtc</a></li> <li><a href="../client-api/Easyrtc_App.html">Easyrtc_App</a></li> <li><a href="../client-api/Easyrtc_ft.html">Easyrtc_ft</a></li> <li><a href="../client-api/Easyrtc_IframeCapture.html">Easyrtc_IframeCapture</a></li> <li><a href="../client-api/Easyrtc_No_IframeCapture.html">Easyrtc_No_IframeCapture</a></li> <li><a href="../client-api/Easyrtc_Rates.html">Easyrtc_Rates</a></li> <li><a href="../client-api/Easyrtc_Recorder.html">Easyrtc_Recorder</a></li> </ul> <h3>EasyRTC Server Modules</h3> <ul> <li><a href="../server-api/module-easyrtc_default_event_listeners.html">easyrtc_default_event_listeners</a></li> <li><a href="../server-api/module-easyrtc_default_options.html">easyrtc_default_options</a></li> <li><a href="../server-api/module-easyrtc_private_obj.html">easyrtc_private_obj</a></li> <li><a href="../server-api/module-easyrtc_public_obj.html">easyrtc_public_obj</a></li> <li><a href="../server-api/module-easyrtc_util.html">easyrtc_util</a></li> <li><a href="../server-api/module-general_util.html">general_util</a></li> </ul> <h3>EasyRTC Server Classes</h3> <ul> <li><a href="../server-api/module-easyrtc_default_event_listeners-eventListener.html">eventListener</a></li> <li><a href="../server-api/module-easyrtc_public_obj-pub.html">pub</a></li> <li><a href="../server-api/module-easyrtc_public_obj-pub.events.html">events</a></li> <li><a href="../server-api/module-easyrtc_public_obj-pub.util.html">util</a></li> <li><a href="../server-api/module-easyrtc_util-eu.html">eu</a></li> <li><a href="../server-api/module-general_util-g.html">g</a></li> <li><a href="../server-api/pub.appObj.html">appObj</a></li> <li><a href="../server-api/pub.appObj.connectionObj.html">connectionObj</a></li> <li><a href="../server-api/pub.appObj.connectionObj.connectionRoomObj.html">connectionRoomObj</a></li> <li><a href="../server-api/pub.appObj.roomObj.html">roomObj</a></li> <li><a href="../server-api/pub.appObj.sessionObj.html">sessionObj</a></li> </ul> </nav> <div class="easyrtc-docs-content"> <div id="main"> <h1 class="page-title">Class: Easyrtc_ft</h1> <section> <header> <h2>Easyrtc_ft</h2> <div class="class-description">Easyrtc_ft.</div> </header> <article> <div class="container-overview"> <h2>Constructor</h2> <h4 class="name" id="Easyrtc_ft"><span class="type-signature"></span>new Easyrtc_ft<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Easyrtc_ft.html">Easyrtc_ft</a>}</span></h4> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="easyrtc_ft.js.html">easyrtc_ft.js</a>, <a href="easyrtc_ft.js.html#line60">line 60</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> the new easyrtc instance. </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="Easyrtc_ft.html">Easyrtc_ft</a></span> </dd> </dl> </div> <h3 class="subsection-title">Members</h3> <h4 class="name" id=".errCodes"><span class="type-signature">(static) </span>errCodes<span class="type-signature"> :Object</span></h4> <div class="description"> Error codes that the EasyRTC will use in the errorCode field of error object passed to error handler set by easyrtc.setOnError. The error codes are short printable strings. </div> <h5>Type:</h5> <ul> <li> <span class="param-type">Object</span> </li> </ul> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="easyrtc_ft.js.html">easyrtc_ft.js</a>, <a href="easyrtc_ft.js.html#line67">line 67</a> </li></ul></dd> </dl> <h4 class="name" id=".saveAs"><span class="type-signature">(static) </span>saveAs<span class="type-signature"></span></h4> <div class="description"> This is a wrapper around Eli Grey's saveAs function. This saves to the browser's downloads directory. </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="easyrtc_ft.js.html">easyrtc_ft.js</a>, <a href="easyrtc_ft.js.html#line773">line 773</a> </li></ul></dd> </dl> <h3 class="subsection-title">Methods</h3> <h4 class="name" id=".buildDragNDropRegion"><span class="type-signature">(static) </span>buildDragNDropRegion<span class="signature">(droptargetName, filesHandler)</span><span class="type-signature"></span></h4> <div class="description"> Establish an area as a drag-n-drop drop site for files. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>droptargetName</code></td> <td class="type"> <span class="param-type">DOMString</span> </td> <td class="description last">the id of the drag-and-drop site or the actual DOM object.</td> </tr> <tr> <td class="name"><code>filesHandler</code></td> <td class="type"> <span class="param-type">function</span> </td> <td class="description last">function that accepts an array of File's.</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="easyrtc_ft.js.html">easyrtc_ft.js</a>, <a href="easyrtc_ft.js.html#line78">line 78</a> </li></ul></dd> </dl> <h4 class="name" id=".buildFileReceiver"><span class="type-signature">(static) </span>buildFileReceiver<span class="signature">(acceptRejectCB, blobAcceptor, statusCB)</span><span class="type-signature"></span></h4> <div class="description"> Enable datachannel based file receiving. The received blobs get passed to the statusCB in the 'eof' typed message. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>acceptRejectCB</code></td> <td class="type"> <span class="param-type">function</span> </td> <td class="description last">this function is called when another peer (otherGuy) offers to send you a list of files. this function should call it's wasAccepted function with true to allow those files to be sent, or false to disallow them.</td> </tr> <tr> <td class="name"><code>blobAcceptor</code></td> <td class="type"> <span class="param-type">function</span> </td> <td class="description last">this function is called three arguments arguments: the suppliers easyrtcid, a blob and a filename. It is responsible for saving the blob to the file, usually using easyrtc_ft.saveAs.</td> </tr> <tr> <td class="name"><code>statusCB</code></td> <td class="type"> <span class="param-type">type</span> </td> <td class="description last">this function is called with the current state of file receiving. It is passed two arguments: otherGuy - the easyrtcid of the person sending the files. * msg - one of the following structures: {status:"done", reason:"accept_failed"} {status:"done", reason:"success"} {status:"done", reason:"cancelled"} {status:"eof"}, {status:"started_file, name:"filename"} {status:"progress", name:filename, received:received_size_in_bytes, size:file_size_in_bytes }</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="easyrtc_ft.js.html">easyrtc_ft.js</a>, <a href="easyrtc_ft.js.html#line567">line 567</a> </li></ul></dd> </dl> <h5>Example</h5> <pre class="prettyprint"><code>easyrtc_ft( function(otherGuy, filenamelist, wasAccepted) { wasAccepted(true);}, function(otherGuy, blob, filename) { easyrtc_ft(blob, filename);}, function(otherGuy, status) { console.log("status:" + JSON.stringify(status))} );</code></pre> <h4 class="name" id=".buildFileSender"><span class="type-signature">(static) </span>buildFileSender<span class="signature">(destUser, progressListener, options)</span><span class="type-signature"> &rarr; {function}</span></h4> <div class="description"> Builds a function that can be used to send a group of files to a peer. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>destUser</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last">easyrtcid of the person being sent to.</td> </tr> <tr> <td class="name"><code>progressListener</code></td> <td class="type"> <span class="param-type">function</span> </td> <td class="description last">if provided, is called with the following objects: {status:"waiting"} // once a file offer has been sent but not accepted or rejected yet {status:"started_file", name: filename} {status:"working", name:filename, position:position_in_file, size:size_of_current_file, numFiles:number_of_files_left} {status:"cancelled"} // if the remote user cancels the sending {status:"done"} // when the file is done the progressListener should always return true for normal operation, false to cancel a filetransfer.</td> </tr> <tr> <td class="name"><code>options</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="description last">overide default file transfer settings maxPacketSize is the size (before base64 encoding) that is sent in a single data channel message, in bytes. maxChunkSize is the amount read from a file at a time, in bytes. ackThreshold is the amount of data that can be sent before an ack is received from the party we're sending to, bytes. maxChunkSize should be a multiple of maxPacketSize. ackThreshold should be several times larger than maxChunkSize. For network paths that have greater latency, increase ackThreshold further.</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="easyrtc_ft.js.html">easyrtc_ft.js</a>, <a href="easyrtc_ft.js.html#line206">line 206</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> an object that accepts an array of File (the Files to be sent), and a boolean </div> <dl> <dt> Type </dt> <dd> <span class="param-type">function</span> </dd> </dl> </article> </section> </div> <nav class="hide"><h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="Easyrtc.html">Easyrtc</a></li><li><a href="Easyrtc_App.html">Easyrtc_App</a></li><li><a href="Easyrtc_ft.html">Easyrtc_ft</a></li><li><a href="Easyrtc_IframeCapture.html">Easyrtc_IframeCapture</a></li><li><a href="Easyrtc_No_IframeCapture.html">Easyrtc_No_IframeCapture</a></li><li><a href="Easyrtc_Rates.html">Easyrtc_Rates</a></li><li><a href="Easyrtc_Recorder.html">Easyrtc_Recorder</a></li></ul></nav> </div> </div> <footer class="template"> <div class="wrapper-content"> <p>Copyright &copy;2016 EasyRTC</p> </div> </footer> <!-- <script>prettyPrint();</script> --> <!-- <script src="scripts/linenumber.js"></script> --> </body> </html>