{"id":3910,"date":"2023-03-15T22:48:01","date_gmt":"2023-03-15T14:48:01","guid":{"rendered":"https:\/\/resource.webduino.io\/?p=3910"},"modified":"2023-03-30T17:10:47","modified_gmt":"2023-03-30T09:10:47","slug":"youtube","status":"publish","type":"docs","link":"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube","title":{"rendered":"Youtube \u4e92\u52d5"},"content":{"rendered":"<p>\u63a5\u8457\u4f86\u770b Google \u7684 Youtube\uff0c\u4e00\u822c\u5c0d Youtube \u7684\u8a8d\u77e5\u4e0d\u5916\u4e4e\u662f\u64ad\u64ad\u5f71\u7247\uff0c\u80fd\u5920\u62ff\u4f86\u73a9\u667a\u6167\u63d2\u5ea7\u55ce\uff1f\u9019\u5c31\u9700\u8981\u9760\u4e00\u4e9b\u5275\u610f\u548c\u60f3\u50cf\u4e86\uff0c\u900f\u904e\u548c Youtube \u5f71\u7247\u7684\u4e92\u52d5\uff0c\u5c31\u53ef\u4ee5\u8b93\u5f71\u7247\u7684\u89d2\u8272\u64cd\u63a7\u771f\u5be6\u7684\u96fb\u71c8\u3002<\/p>\n<blockquote><p>\u76f8\u95dc Webduino \u6559\u5b78\u53c3\u8003\uff1a<a href=\"https:\/\/resource.webduino.io\/docs\/cloud-project\/sensor\/rfid-youtube\">RFID ( \u63a7\u5236 Youtube )<\/a>\u3001<a href=\"https:\/\/resource.webduino.io\/docs\/cloud-project\/sensor\/pot-youtube\">\u53ef\u8b8a\u96fb\u963b ( \u6539\u8b8a Youtube \u97f3\u91cf )<\/a>\u3001<a href=\"https:\/\/resource.webduino.io\/docs\/cloud\/drsmart\/ultrasonic-youtube\">\u8d85\u97f3\u6ce2 ( \u63a7\u5236 Youtube )<\/a><\/p><\/blockquote>\n<h2>Youtube \u8d77\u624b\u5f0f<\/h2>\n<p>\u8981\u4f7f\u7528 Youtube \u73a9\u958b\u95dc\u71c8\u7684\u8a71\uff0c\u9996\u5148\u8981\u4e86\u89e3\u76f8\u95dc\u7684\u63a7\u5236\u65b9\u5f0f\uff0c\u9019\u6642\u5019\u4e00\u5b9a\u8981\u4f86\u5b98\u65b9\u7db2\u7ad9 \u770b\u770b\uff0c\u56e0\u70ba\u6211\u5011\u8981\u5728\u7db2\u9801\u88e1\u9762\u4f7f\u7528\uff0c\u5c31\u9ede\u9078 IFrame Player API \u95b1\u8b80\u3002<\/p>\n<blockquote><p>\u53c3\u8003\uff1a<a href=\"https:\/\/www.youtube.com\/yt\/dev\/zh-TW\/api-resources.html\">Youtube \u958b\u767c\u4eba\u54e1\u5c08\u5340<\/a>\u3001<a href=\"https:\/\/developers.google.com\/youtube\/iframe_api_reference\">IFrame Player API<\/a><\/p><\/blockquote>\n<p><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/photo.webduino.io\/resource\/socket\/useful\/youtube-01.webp?w=1200&#038;ssl=1\" alt=\"IFrame Player API\" data-recalc-dims=\"1\" \/><\/p>\n<p>\u6309\u7167\u5b98\u65b9\u7684\u6559\u5b78\uff0c\u9996\u5148 HTML \u9700\u8981\u6709\u4e00\u500b div \u4f86\u653e\u5f71\u7247\u3002<\/p>\n<pre><code>&lt;div id=\"player\"&gt;&lt;\/div&gt;\n<\/code><\/pre>\n<p>\u518d\u4f86 JavaScript \u7684\u8d77\u624b\u5f0f\uff0c\u8981\u5148\u8f09\u5165\u7528 Youtube \u7684 igrame API\uff0c<\/p>\n<pre><code>var tag = document.createElement('script');\n\ntag.src = \"https:\/\/www.youtube.com\/iframe_api\";\nvar firstScriptTag = document.getElementsByTagName('script')[0];\nfirstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n<\/code><\/pre>\n<p>\u6216\u8005\u4e5f\u53ef\u4ee5\u76f4\u63a5\u5728 HTML \u5f15\u5165\u5c0d\u61c9\u7684 JavaScript\u3002<\/p>\n<pre><code>&lt;script src=\"https:\/\/www.youtube.com\/iframe_api\"&gt;&lt;\/script&gt;\n<\/code><\/pre>\n<p>\u518d\u4f86\u770b\u5230\u7b2c\u4e00\u6bb5\uff0c\u9019\u908a\u6307\u5b9a\u4e86\u525b\u525b\u653e\u5728 HTML \u7684 div ( id \u662f player )\uff0c\u4ee5\u53ca\u958b\u59cb\u64ad\u653e\u6642\u5019\u7684\u5f71\u7247\u9577\u5bec\u5c3a\u5bf8\uff0c\u6700\u91cd\u8981\u7684\u662f <code>videoId<\/code> \u9019\u6bb5\uff0c\u9019\u662f\u8981\u64ad\u653e\u5f71\u7247\u7684 ID\u3002<\/p>\n<pre><code>var player;\nfunction onYouTubeIframeAPIReady() {\n  player = new YT.Player('player', {\n    height: '390',\n    width: '640',\n    videoId: 'M7lc1UVf-VE',\n    events: {\n      'onReady': onPlayerReady\n    }\n  });\n}\n<\/code><\/pre>\n<p>\u5f71\u7247\u7684 ID \u5728\u54ea\u88e1\u5462\uff1f\u5f71\u7247 ID \u5c31\u662f\u7db2\u5740\u5217 <code>v=<\/code> \u5f8c\u9762\u7684\u9019\u4e00\u4e32\u4ee3\u78bc<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/photo.webduino.io\/resource\/socket\/useful\/youtube-02.webp?w=1200&#038;ssl=1\" alt=\"Youtube \u5f71\u7247 ID\" data-recalc-dims=\"1\" \/><\/p>\n<p>\u5728\u4e0a\u9762\u90a3\u6bb5\u7a0b\u5f0f\u78bc\u88e1\uff0c<code>events<\/code> \u6709\u500b\u5c6c\u6027\u53eb\u505a <code>onReady<\/code>\uff0c\u9019\u8868\u793a\u5728 Youtube \u64ad\u653e\u5340\u57df\u6e96\u5099\u597d\u4e4b\u5f8c\u8981\u505a\u7684\u6d41\u7a0b\u662f <code>onPlayerReady<\/code>\uff0c\u6240\u4ee5\u8981\u64b0\u5beb\u4e00\u6bb5\u5c0d\u61c9\u7684\u6d41\u7a0b\uff0c\u9019\u500b\u6d41\u7a0b\u8868\u793a\u5f71\u7247\u64ad\u653e\u5340\u57df\u6e96\u5099\u597d\u4e4b\u5f8c\uff0c\u5c31\u958b\u59cb\u64ad\u653e\u5f71\u7247\u3002<\/p>\n<pre><code>function onPlayerReady(event) {\n  event.target.playVideo();\n}\n\n\u6216\u9019\u6a23\u5beb\u4e5f\u53ef\u4ee5\u3002\n\nfunction onPlayerReady() {\n   player.playVideo();\n}\n<\/code><\/pre>\n<p>\u7136\u5f8c\u53ea\u8981\u57f7\u884c\u7db2\u9801\uff0c\u5c31\u53ef\u4ee5\u770b\u5230 Youtube \u5f71\u7247\u958b\u59cb\u64ad\u653e\u4e86\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/photo.webduino.io\/resource\/socket\/useful\/youtube-03.webp?w=1200&#038;ssl=1\" alt=\"\u57f7\u884c\u7db2\u9801\u64ad\u653e Youtube \u5f71\u7247\" data-recalc-dims=\"1\" \/><\/p>\n<p>\u518d\u8aaa\u660e\u4e00\u4e0b\uff0c\u56de\u5230 <code>onYouTubeIframeAPIReady()<\/code> \u9019\u500b\u6d41\u7a0b\uff0c\u5176\u5be6\u88e1\u9762\u7684 player \u9084\u6709\u53e6\u5916\u4e00\u500b\u91cd\u8981\u7684\u5c6c\u6027\u53eb\u505a <code>playerVars<\/code>\uff0c\u9019\u908a\u5305\u542b\u4e86\u5f71\u7247\u4e00\u958b\u59cb\u7684\u8a31\u591a\u5c6c\u6027\u8a2d\u5b9a\uff0c\u5b8c\u6574\u8a2d\u5b9a\u53ef\u4ee5\u53c3\u8003 <a href=\"https:\/\/developers.google.com\/youtube\/player_parameters?playerVersion=HTML5\">Player parameters<\/a>\uff0c\u6bd4\u8f03\u5e38\u7528\u7684\u5927\u6982\u5c31\u662f<code>autoPlay<\/code> \u81ea\u52d5\u64ad\u653e\u3001<code>controls<\/code> \u4e0b\u65b9\u63a7\u5236\u9078\u55ae\uff0c\u4ee5\u4e0b\u9762\u7684\u4f8b\u5b50\u4f86\u8aaa\uff0c\u9810\u8a2d\u6703\u81ea\u52d5\u64ad\u653e\uff0c\u7136\u5f8c\u95dc\u9589\u4e0b\u65b9\u63a7\u5236\u9078\u55ae\u3002<\/p>\n<pre><code>function onYouTubeIframeAPIReady() {\n  player = new YT.Player('player', {\n    height: '390',\n    width: '640',\n    videoId: 'M7lc1UVf-VE',\n    playerVars:{\n      autoplay:1,\n      controls:0\n    },\n    events: {\n      'onReady': onPlayerReady\n    }\n  });\n}\n<\/code><\/pre>\n<p>\u5982\u679c\u6709\u4ed4\u7d30\u770b API \u6587\u4ef6\u7684\u8a71\uff0c\u4e00\u5b9a\u6703\u767c\u73fe\u6709\u4e00\u500b\u65b9\u6cd5\u53eb\u505a <code>loadVideoByUrl<\/code>\uff0c\u9867\u540d\u601d\u7fa9\u5c31\u662f\u76f4\u63a5\u7528\u7db2\u5740\u5c31\u53ef\u4ee5\u8f09\u5165\u5f71\u7247\uff0c\u7e3d\u662f\u6bd4\u76f4\u63a5\u8cbc ID \u65b9\u4fbf\u5f97\u591a\uff0c\u4f46\u5f88\u53ef\u60dc\u7db2\u5740\u5fc5\u9808\u8981\u9075\u7167\u898f\u7bc4\uff0c\u4e5f\u5c31\u662f\u8981\u9577 <code>http:\/\/www.youtube.com\/v\/VIDEO_ID?version=3<\/code> \u9019\u500b\u6a23\u5b50\u7684\u7db2\u5740\u624d\u53ef\u4ee5\uff0c\u6240\u4ee5\u9019\u500b\u65b9\u6cd5\u57fa\u672c\u4e0a\u4e5f\u4e0d\u662f\u90a3\u9ebc\u7684\u597d\u7528\u3002<\/p>\n<p>\u5982\u679c\u771f\u7684\u60f3\u8981\u7528\u7db2\u5740\uff0c\u4e0d\u5982\u81ea\u5df1\u5beb\u4e00\u6bb5\u7a0b\u5f0f\u53bb\u7be9\u9078\uff0c\u4e0b\u9762\u9019\u6bb5\u662f\u7be9\u9078 Youtube \u7db2\u5740\u7684\u7a0b\u5f0f\uff0c\u53ea\u8981\u628a\u7db2\u5740\u8cbc\u5728 u \u7684\u5730\u65b9\uff0c\u5c31\u6703\u56de\u50b3 ID \u56c9\uff01<\/p>\n<pre><code>function getVideoId(u){\n  var v, vid;\n  if(u.indexOf('?v=')!=-1){\n    v = u.split('?v=');\n    if(v[1].indexOf('&amp;')!=-1){\n      vid = v[1].split('&amp;')[0];\n    }else{\n      vid = v[1];\n    }\n    return vid;\n  }else{\n    return u;\n  }\n}\n<\/code><\/pre>\n<h2>Youtube \u64cd\u63a7\u65b9\u6cd5<\/h2>\n<p>Youtube \u8f09\u5165\u4e4b\u5f8c\u6709\u4e9b\u9810\u8a2d\u7684\u884c\u70ba ( events )\uff0c\u900f\u904e\u9019\u4e9b\u884c\u70ba\uff0c\u6211\u5011\u53ef\u4ee5\u6c7a\u5b9a\u4f55\u6642\u8981\u505a\u4ec0\u9ebc\u4e8b\u60c5\u3002<\/p>\n<ul>\n<li><strong>onReady<\/strong>\uff1a\u7576 Youtube \u6e96\u5099\u597d\u7684\u6642\u5019<\/li>\n<li><strong>onStateChange<\/strong>\uff1a\u7576 Youtube \u72c0\u614b\u6539\u8b8a\u6642 ( -1 \u5c1a\u672a\u958b\u59cb\u30010 \u7d50\u675f\u30011 \u6b63\u5728\u64ad\u653e\u30012 \u66ab\u505c\u30013 buffering\u30015 video cue )<\/li>\n<li><strong>onPlaybackQualityChange<\/strong>\uff1a\u7576 Youtube \u54c1\u8cea\u8a2d\u5b9a\u6539\u8b8a\u6642<\/li>\n<li><strong>onPlaybackRateChange<\/strong>\uff1a\u7576Youtube \u64ad\u653e\u901f\u5ea6\u6539\u8b8a\u6642<\/li>\n<li><strong>onError<\/strong>\uff1a\u7576 Youtube \u767c\u751f\u932f\u8aa4\u6642<\/li>\n<li><strong>onApiChange<\/strong>\uff1a\u7576 Youtube API \u6539\u8b8a\u6642<\/li>\n<\/ul>\n<p>\u9664\u4e86\u4e0a\u9762\u5e38\u898b\u7684\u884c\u70ba\uff0c\u4e5f\u6709\u4e0b\u9762\u6eff\u5e38\u7528\u7684\u4e00\u4e9b Youtube \u7684\u64cd\u63a7\u65b9\u6cd5\uff0c\u5176\u5be6\u53e6\u5916\u9084\u6709\u300c\u5f71\u7247\u6e05\u55ae\u300d\u64cd\u4f5c\u65b9\u6cd5\uff0c\u4e0d\u904e\u56e0\u70ba\u9019\u7bc7\u6c92\u6709\u4ecb\u7d39\u5230\u6e05\u55ae\uff0c\u52a0\u4e0a\u5b98\u7db2\u5167\u5bb9\u4e5f\u9817\u5b8c\u6574\uff0c\u5982\u679c\u5c0d\u5f71\u7247\u6e05\u55ae\u6709\u8208\u8da3\u7684\u5c31\u8acb\u79fb\u99d5\u5230 <a href=\"https:\/\/www.youtube.com\/yt\/dev\/zh-TW\/api-resources.html\">Youtube \u958b\u767c\u4eba\u54e1\u5c08\u5340<\/a> \u53bb\u770b\u770b\u4e86\u3002<\/p>\n<ul>\n<li><strong>player.playVideo()<\/strong>\uff1a\u64ad\u653e\u5f71\u7247<\/li>\n<li><strong>player.pauseVideo()<\/strong>\uff1a\u66ab\u505c<\/li>\n<li><strong>player.stopVideo()<\/strong>\uff1a\u505c\u6b62<\/li>\n<li><strong>player.seekTo(sec)<\/strong>\uff1a\u524d\u5f80\u7b2c\u5e7e\u79d2 ( 1 \u5206\u9418 30 \u79d2 = 90 \u79d2 )<\/li>\n<li><strong>player.mute()<\/strong>\uff1a\u975c\u97f3<\/li>\n<li><strong>player.unMute()<\/strong>\uff1a\u53d6\u6d88\u975c\u97f3<\/li>\n<li><strong>player.isMuted()<\/strong>\uff1a\u5224\u65b7\u662f\u4e0d\u662f\u975c\u97f3 ( true \/ flase )<\/li>\n<li><strong>player.setVolume(Volumn)<\/strong>\uff1a\u8a2d\u5b9a\u97f3\u91cf\u5927\u5c0f ( 0~100 )<\/li>\n<li><strong>player.getVolume()<\/strong>\uff1a\u53d6\u5f97\u7576\u524d\u97f3\u91cf\u5927\u5c0f ( 0~100 )<\/li>\n<li><strong>player.setSize(width, height)<\/strong>\uff1a\u8a2d\u5b9a\u5f71\u7247\u5c3a\u5bf8<\/li>\n<li><strong>player.getPlaybackRate()<\/strong>\uff1a\u53d6\u5f97\u64ad\u653e\u901f\u5ea6 ( 0.25\u30010.5\u30011\u30011.5\u30012)<\/li>\n<li><strong>player.setPlaybackRate(suggestedRate)<\/strong>\uff1a\u8a2d\u5b9a\u64ad\u653e\u901f\u5ea6 ( 0.25\u30010.5\u30011\u30011.5\u30012)<\/li>\n<li><strong>player.getPlayerState()<\/strong>\uff1a\u53d6\u5f97\u76ee\u524d\u5f71\u7247\u72c0\u614b ( -1 \u5c1a\u672a\u958b\u59cb\u30010 \u7d50\u675f\u30011 \u6b63\u5728\u64ad\u653e\u30012 \u66ab\u505c )<\/li>\n<li><strong>player.getCurrentTime()<\/strong>\uff1a\u53d6\u5f97\u76ee\u524d\u5f71\u7247\u64ad\u653e\u6642\u9593 ( \u9700\u56db\u6368\u4e94\u5165\u8f49\u63db )<\/li>\n<li><strong>player.getPlaybackQuality()<\/strong>\uff1a\u53d6\u5f97\u76ee\u524d\u5f71\u7247\u54c1\u8cea ( highres\u3001hd1080\u3001hd720\u3001large\u3001medium\u3001small )<\/li>\n<li><strong>player.setPlaybackQuality(suggestedQuality)<\/strong>\uff1a\u8a2d\u5b9a\u5f71\u7247\u54c1\u8cea ( highres\u3001hd1080\u3001hd720\u3001large\u3001medium\u3001small )<\/li>\n<\/ul>\n<p>\u900f\u904e\u4e0a\u8ff0\u7684\u884c\u70ba\u8207\u65b9\u6cd5\uff0c\u6211\u5011\u5c31\u53ef\u4ee5\u81ea\u5df1\u5b89\u6392\u4e00\u4e9b\u7c21\u55ae\u7684\u884c\u70ba\u53bb\u63a7\u5236\u5f71\u7247\uff0c\u4f8b\u5982\u6211\u81ea\u5df1\u6700\u559c\u6b61\u7684\u300c\u5f71\u7247\u7d50\u675f\u5f8c\u81ea\u52d5\u64ad\u653e\u300d\u3001\u300c\u6b4c\u5531\u6bd4\u8cfd\u53ea\u91cd\u8907\u64ad\u6b4c\u5531\u7684\u90e8\u5206\uff0c\u7565\u904e\u8a55\u5be9\u8a55\u8a9e\u300d\u7684\u529f\u80fd\uff0c\u9019\u6a23\u5c31\u53ef\u4ee5\u4e00\u9996\u6b4c\u7528 Youtube \u4e0d\u65b7\u91cd\u64ad\u4e86\u3002<\/p>\n<pre><code>var player;\nfunction onYouTubeIframeAPIReady() {\n  player = new YT.Player('player', {\n    height: '390',\n    width: '640',\n    videoId: 'M7lc1UVf-VE',\n    playerVars:{\n      autoplay:1,\n      controls:1,\n      start:30\n    },\n    events: {\n      'onReady': onPlayerReady,\n      'onStateChange':onStateChange\n    }\n  });\n}\n\nfunction onPlayerReady() {\n   player.playVideo();\n}\n\nfunction onStateChange(event){\n  \/\/event.data \u8fd4\u56de\u73fe\u5728\u5f71\u7247\u7684\u72c0\u614b ( -1 \u5c1a\u672a\u958b\u59cb\u30010 \u7d50\u675f\u30011 \u6b63\u5728\u64ad\u653e\u30012 \u66ab\u505c )\n  if(event.data===0){\n    player.playVideo();\n  }\n}\n<\/code><\/pre>\n<p>\u751a\u81f3\u4f60\u4e0d\u60f3\u807d\u5230\u6b4c\u5531\u6bd4\u8cfd\u8a55\u5be9\u7684\u8a55\u8a9e\uff0c\u4f60\u4e5f\u53ef\u4ee5\u8f15\u9b06\u8fa6\u5230\u300c\u6b4c\u5531\u6bd4\u8cfd\u53ea\u91cd\u8907\u64ad\u6b4c\u5531\u7684\u90e8\u5206\u300d\uff0c\u4f8b\u5982\u4e0b\u9762\u9019\u9996\u300c\u5b8b\u695a\u7433 \u9b54\u9b3c\u4e2d\u7684\u5929\u4f7f\u300d\uff0c\u524d\u9762\u4e5f\u6709\u4ecb\u7d39\uff0c\u5f8c\u9762\u53c8\u6709\u8a55\u8a9e\uff0c\u900f\u904e\u9019\u4e9b Youtube \u65b9\u6cd5\u7684\u64cd\u63a7\uff0c\u5c31\u53ef\u4ee5\u53ea\u807d\u4e2d\u9593\u6f14\u5531\u7684\u90e8\u5206\u3002<\/p>\n<pre><code>function onPlayerReady() {\n   player.playVideo();\n   player.seekTo(92); \/\/\u5f71\u7247\u64ad\u653e\u5f8c\u524d\u5f80 92 \u79d2\u7684\u4f4d\u7f6e\n   \/\/\u6bcf\u4e00\u79d2\u6293\u53d6\u4e00\u6b21\u73fe\u5728\u5f71\u7247\u7684\u79d2\u6578\n   setInterval(function(){\n     var sec = Math.round(player.getCurrentTime()*10)\/10; \/\/\u56db\u6368\u4e94\u5165\u73fe\u968e\u6bb5\u79d2\u6578\n     \/\/\u5982\u679c\u79d2\u6578\u5927\u65bc 240 \u79d2\u5c31\u524d\u5f80 92 \u79d2\n     if(sec&gt;240){\n       player.seekTo(92);\n     }\n   },1000);\n}\n<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/photo.webduino.io\/resource\/socket\/useful\/youtube-04.webp?w=1200&#038;ssl=1\" alt=\"\u6307\u5b9a\u5f71\u7247\u91cd\u8907\u64ad\u653e\u6bb5\u843d\" data-recalc-dims=\"1\" \/><\/p>\n<h2>\u8b93 YouTube \u548c\u71c8\u6ce1\u4e92\u52d5<\/h2>\n<p>\u65e2\u7136\u5df2\u7d93\u53ef\u4ee5\u900f\u904e\u7db2\u9801\u64cd\u63a7 Youtube \u6216\u662f\u7372\u5f97 Youtube \u7684\u4e00\u4e9b\u6578\u503c\uff0c\u63a5\u8457\u5c31\u662f\u8981\u900f\u904e Webduino \u4f86\u628a\u71c8\u6ce1\u8207\u5f71\u7247\u505a\u4e9b\u4e92\u52d5\uff0c\u9996\u5148\u6211\u5011\u6253\u958b\u9019\u652f\u5f71\u7247 ( <a href=\"https:\/\/www.youtube.com\/watch?v=-6ZFeFuvan8\">https:\/\/www.youtube.com\/watch?v=-6ZFeFuvan8<\/a> )\uff0c\u9019\u662f\u7528\u624b\u5f80\u5de6\u63ee\u548c\u5f80\u53f3\u63ee\u7684\u5f71\u7247\uff0c\u7576\u5f71\u7247\u7684\u624b\u63ee\u5230\u53f3\u908a\uff0c\u53f3\u908a\u7684\u71c8\u5c31\u6703\u4eae\uff0c\u63ee\u5230\u5de6\u908a\uff0c\u5de6\u908a\u7684\u71c8\u5c31\u6703\u4eae\u3002( \u628a Youtube \u9577\u5bec\u8a2d\u6210 100% \u5c31\u53ef\u4ee5\u8b8a\u6210\u5168\u87a2\u5e55\u56c9 )<\/p>\n<p>\u4e00\u958b\u59cb\u4e00\u6a23\u8a2d\u5b9a <code>onPlayerReady()<\/code> \u7684\u4e8b\u4ef6\uff0c\u7136\u5f8c\u88e1\u9762\u5c31\u662f\u5728\u958b\u767c\u7248\u90fd\u4e0a\u7dda\u4e4b\u5f8c\uff0c\u57f7\u884c <code>ready<\/code> \u7684\u6d41\u7a0b\u3002<\/p>\n<pre><code>function onPlayerReady() {\n  \/\/\u8a2d\u5b9a\u958b\u767c\u7248\u88dd\u7f6e\u9023\u7dda\n  boardReady('\u7b2c\u4e00\u500b\u88dd\u7f6e ID', function (board) {\n    board.systemReset();\n    board.samplingInterval = 250;\n    led1 = getLed(board, 10); \/\/\u8a2d\u5b9a\u7b2c\u4e00\u584a\u88dd\u7f6e\u7684\u96fb\u71c8\u63a5\u8173\n    boardNum = boardNum + 1;\n    if(boardNum===2){\n      ready(); \/\/\u88dd\u7f6e\u90fd\u4e0a\u7dda\u5f8c\u57f7\u884c\n    }\n  });\n\n  boardReady('\u7b2c\u4e8c\u500b\u88dd\u7f6e ID', function (board) {\n    board.systemReset();\n    board.samplingInterval = 250;\n    led2 = getLed(board, 10); \/\/\u8a2d\u5b9a\u7b2c\u4e8c\u584a\u88dd\u7f6e\u7684\u96fb\u71c8\u63a5\u8173\n    boardNum = boardNum + 1;\n    if(boardNum===2){\n      ready(); \/\/\u88dd\u7f6e\u90fd\u4e0a\u7dda\u5f8c\u57f7\u884c\n    }\n  });\n\n}\n<\/code><\/pre>\n<p><code>ready<\/code> \u6d41\u7a0b\u6700\u4e3b\u8981\u5c31\u662f\u900f\u904e <code>.getCurrentTime()<\/code> \u6293\u53d6\u7576\u4e0b\u6642\u9593\uff0c\u7136\u5f8c\u6bcf\u9694 0.1 \u79d2\u5c31\u6293\u53d6\u4e00\u6b21\u6642\u9593\uff0c\u9019\u6a23\u5c31\u53ef\u4ee5\u518d\u5dee\u4e0d\u591a\u7684\u6642\u9593\u89f8\u767c\u5dee\u4e0d\u591a\u7684\u4e8b\u60c5\u4e86\u3002<\/p>\n<pre><code>function _a1(){\n  led2.on();\n  led1.off();\n}\n\nfunction _a2(){\n  led1.on();\n  led2.off();\n}\n\nfunction ready(){\n  player.playVideo();\n  setInterval(function(){\n   var sec = Math.round(player.getCurrentTime()*10)\/10;\n   if(sec&gt;1.5 &amp;&amp; sec&lt;2){\n     _a1();\n   }else if(sec&gt;3 &amp;&amp; sec&lt;3.5){\n     _a2();\n   }else if(sec&gt;5 &amp;&amp; sec&lt;5.5){\n     _a1();\n   }else if(sec&gt;6.3 &amp;&amp; sec&lt;7){\n     _a2();\n   }else if(sec&gt;8 &amp;&amp; sec&lt;8.5){\n     _a1();\n   }else if(sec&gt;9.5 &amp;&amp; sec&lt;10){\n     _a2();\n   }else if(sec&gt;11.5 &amp;&amp; sec&lt;12){\n     _a1();\n   }else if(sec&gt;13 &amp;&amp; sec&lt;13.5){\n     _a2();\n   }else if(sec&gt;14.5 &amp;&amp; sec&lt;15){\n     _a1();\n   }else if(sec&gt;16.5 &amp;&amp; sec&lt;17){\n     _a2();\n   }else if(sec&gt;17.5 &amp;&amp; sec&lt;18){\n     _a1();\n   }else if(sec&gt;19.5 &amp;&amp; sec&lt;20){\n     _a2();\n   }\n  },100);\n}\n<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/photo.webduino.io\/resource\/socket\/useful\/youtube-05.gif?w=1200&#038;ssl=1\" alt=\"YouTube \u5f71\u7247\u548c\u667a\u6167\u63d2\u5ea7\u71c8\u6ce1\u4e92\u52d5\" data-recalc-dims=\"1\" \/><\/p>\n<p>\u5982\u679c\u4e0d\u60f3\u9732\u81c9\u6216\u662f\u9732\u4e0b\u5df4\uff0c\u4e5f\u53ef\u4ee5\u6539\u6210\u958b\u95dc\uff0c\u6253\u958b\u5de6\u908a\u7684\u958b\u95dc\uff0c\u5de6\u908a\u7684\u71c8\u5c31\u4eae\uff0c\u6253\u958b\u53f3\u908a\u7684\u71c8\uff0c\u53f3\u908a\u7684\u71c8\u5c31\u4eae\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/photo.webduino.io\/resource\/socket\/useful\/youtube-06.gif?w=1200&#038;ssl=1\" alt=\"\u958b\u95dc\u5f71\u7247\u548c\u667a\u6167\u63d2\u5ea7\u71c8\u6ce1\u4e92\u52d5\" data-recalc-dims=\"1\" \/><\/p>\n<p>\u9ede\u9078\u5f71\u7247\u53ef\u4ee5\u770b\u5be6\u969b\u6548\u679c\uff1a<\/p>\n<p><iframe src=\"https:\/\/www.youtube.com\/embed\/hGdarg7ZfiM\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>\u5982\u679c\u4e0d\u592a\u6703\u5beb\u7a0b\u5f0f\u4e5f\u6c92\u6709\u95dc\u4fc2\uff0cWebduino Blockly \u7dda\u4e0a\u7de8\u8f2f\u5de5\u5177 ( <a href=\"https:\/\/blockly.webduino.io\">https:\/\/blockly.webduino.io<\/a> ) \u4e5f\u6709\u63d0\u4f9b\u8fd1\u4e4e\u5b8c\u6574\u7684 Youtube \u529f\u80fd\u8b93\u5927\u5bb6\u4f7f\u7528\uff0c\u6709\u8208\u8da3\u7684\u4e5f\u53ef\u4ee5\u73a9\u73a9\u770b\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/photo.webduino.io\/resource\/socket\/useful\/youtube-07.webp?w=1200&#038;ssl=1\" alt=\"Webduino Blockly Youtube \u7a4d\u6728\" data-recalc-dims=\"1\" \/><\/p>\n<h2>\u4f7f\u7528 HTML5 video<\/h2>\n<p>\u7576\u7136\uff0c\u7d14\u7cb9\u4f7f\u7528 HTML5 \u7684 video tag \u4e5f\u662f\u53ef\u4ee5\u505a\u5230\u4e00\u6a23\u7684\u4e8b\u60c5\uff0c\u4e0b\u9762\u9019\u6bb5\u7a0b\u5f0f\uff0c\u53ef\u4ee5\u8b93\u6211\u5011\u5728\u900f\u904e video \u64ad\u653e\u5f71\u7247\u7684\u6642\u5019\uff0c\u6293\u53d6\u5f71\u7247\u7576\u4e0b\u7684\u6642\u9593\uff0c\u5982\u679c\u518d\u642d\u914d\u4e0a\u9762\u7684\u505a\u6cd5\uff0c\u5c31\u53ef\u4ee5\u4e0d\u7528\u4f9d\u8cf4 Youtube \u4e5f\u505a\u51fa\u4e00\u6a21\u4e00\u6a23\u7684\u4e8b\u60c5\u4e86\u3002<\/p>\n<pre><code>&lt;html&gt;\n\n&lt;head&gt;\n  &lt;meta charset=\"UTF-8\"&gt;\n  &lt;title&gt;Document&lt;\/title&gt;\n&lt;\/head&gt;\n\n&lt;body&gt;\n  &lt;video width=\"320\" height=\"240\" controls id=\"v\" autoplay&gt;\n    &lt;source src=\"r.mp4\" type=\"video\/mp4\"&gt;\n  &lt;\/video&gt;\n  &lt;script&gt;\n    var v = document.getElementById('v');\n    setInterval(function(){\n        console.log(v.currentTime);\n    },1000);\n  &lt;\/script&gt;\n&lt;\/body&gt;\n\n&lt;\/html&gt;\n<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/photo.webduino.io\/resource\/socket\/useful\/youtube-08.webp?w=1200&#038;ssl=1\" alt=\"\u4f7f\u7528 HTML5 video\" data-recalc-dims=\"1\" \/><\/p>\n<h2>\u5c0f\u7d50<\/h2>\n<p>\u7576\u5e74\u8981\u505a\u51fa\u9019\u7a2e\u300c\u5f71\u7247 + \u5be6\u969b\u7269\u54c1\u300d\u7684\u6574\u5408\u5be6\u5728\u5f88\u56f0\u96e3\uff0c\u4f46\u73fe\u5728\u96a8\u8457\u7269\u806f\u7db2\u7684\u6280\u8853\u9032\u6b65\uff0c\u52a0\u4e0a\u4f7f\u7528 Webduino \u4e4b\u5f8c\uff0c\u8f15\u8f15\u9b06\u9b06\u5c31\u53ef\u4ee5\u5b8c\u6210\u597d\u5e7e\u4ef6\u300c\u9304\u50cf + \u4e92\u52d5\u300d\u7684\u4f5c\u54c1\uff0c\u800c\u4e14\u5c31\u7b97\u8981\u5beb\u7a0b\u5f0f\u4e5f\u5f88\u7c21\u55ae\uff0c\u4e0d\u9700\u8981\u592a\u9ad8\u6df1\u7684\u6280\u5de7\uff0c\u5c31\u53ef\u4ee5\u505a\u51fa\u5f88\u6709\u8da3\u7684\u6210\u679c\u56c9\uff01<\/p>\n<blockquote><p>\u53c3\u8003\uff1a<\/p>\n<ul>\n<li><a href=\"https:\/\/developers.google.com\/youtube\/\" target=\"_blank\" rel=\"noopener\">https:\/\/developers.google.com\/youtube\/<\/a><\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTML\/Element\/video\" target=\"_blank\" rel=\"noopener\">https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTML\/Element\/video<\/a><\/li>\n<\/ul>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>\u63a5\u8457\u4f86\u770b Google \u7684 Youtube\uff0c\u4e00\u822c\u5c0d Youtube \u7684\u8a8d\u77e5\u4e0d\u5916\u4e4e\u662f\u64ad\u64ad\u5f71\u7247\uff0c\u80fd\u5920\u62ff\u4f86\u73a9\u667a\u6167\u63d2\u5ea7&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":3868,"menu_order":9,"comment_status":"open","ping_status":"open","template":"","meta":{"inline_featured_image":false,"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"doc_tag":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Youtube \u4e92\u52d5 | Webduino \u6559\u5b78\u8cc7\u6e90<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube\" \/>\n<meta property=\"og:locale\" content=\"zh_TW\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Youtube \u4e92\u52d5 | Webduino \u6559\u5b78\u8cc7\u6e90\" \/>\n<meta property=\"og:description\" content=\"\u63a5\u8457\u4f86\u770b Google \u7684 Youtube\uff0c\u4e00\u822c\u5c0d Youtube \u7684\u8a8d\u77e5\u4e0d\u5916\u4e4e\u662f\u64ad\u64ad\u5f71\u7247\uff0c\u80fd\u5920\u62ff\u4f86\u73a9\u667a\u6167\u63d2\u5ea7...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube\" \/>\n<meta property=\"og:site_name\" content=\"Webduino \u6559\u5b78\u8cc7\u6e90\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-30T09:10:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/photo.webduino.io\/resource\/socket\/useful\/youtube-01.webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u9810\u4f30\u95b1\u8b80\u6642\u9593\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 \u5206\u9418\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube\",\"url\":\"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube\",\"name\":\"Youtube \u4e92\u52d5 | Webduino \u6559\u5b78\u8cc7\u6e90\",\"isPartOf\":{\"@id\":\"https:\/\/resource.webduino.io\/#website\"},\"datePublished\":\"2023-03-15T14:48:01+00:00\",\"dateModified\":\"2023-03-30T09:10:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube#breadcrumb\"},\"inLanguage\":\"zh-TW\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\/\/resource.webduino.io\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u667a\u6167\u63d2\u5ea7\",\"item\":\"https:\/\/resource.webduino.io\/docs\/socket\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u9032\u968e\u61c9\u7528\",\"item\":\"https:\/\/resource.webduino.io\/docs\/socket\/useful\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Youtube \u4e92\u52d5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/resource.webduino.io\/#website\",\"url\":\"https:\/\/resource.webduino.io\/\",\"name\":\"Webduino \u5b78\u7fd2\u8cc7\u6e90\u5eab\",\"description\":\"\u672c\u7db2\u7ad9\u63d0\u4f9b\u5b8c\u6574\u7684 Webduino STEAM \u6559\u80b2\u5b78\u7fd2\u8cc7\u6e90\uff0c\u5305\u542b\u958b\u767c\u677f\u3001\u7a0b\u5f0f\u7a4d\u6728\u3001\u96fb\u5b50\u96f6\u4ef6\u8207\u50b3\u611f\u5668\u7b49\u57fa\u790e\u64cd\u4f5c\uff0c\u8b93\u8001\u5e2b\u3001\u540c\u5b78\u3001maker \u80fd\u5920\u5feb\u901f\u4e0a\u624b Webduino\uff0c\u4e26\u4e0d\u5b9a\u671f\u66f4\u65b0\u8cc7\u8a0a\u6559\u80b2\u8da8\u52e2\u76f8\u95dc\u6587\u7ae0\u3002\",\"publisher\":{\"@id\":\"https:\/\/resource.webduino.io\/#organization\"},\"alternateName\":\"Webduino \u5b78\u7fd2\u8cc7\u6e90\u5eab\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/resource.webduino.io\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-TW\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/resource.webduino.io\/#organization\",\"name\":\"Webduino\",\"url\":\"https:\/\/resource.webduino.io\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-TW\",\"@id\":\"https:\/\/resource.webduino.io\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/resource.webduino.io\/wp-content\/uploads\/2022\/07\/logo\u900f\u660e\u5e95.png\",\"contentUrl\":\"https:\/\/resource.webduino.io\/wp-content\/uploads\/2022\/07\/logo\u900f\u660e\u5e95.png\",\"width\":1061,\"height\":1060,\"caption\":\"Webduino\"},\"image\":{\"@id\":\"https:\/\/resource.webduino.io\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Youtube \u4e92\u52d5 | Webduino \u6559\u5b78\u8cc7\u6e90","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube","og_locale":"zh_TW","og_type":"article","og_title":"Youtube \u4e92\u52d5 | Webduino \u6559\u5b78\u8cc7\u6e90","og_description":"\u63a5\u8457\u4f86\u770b Google \u7684 Youtube\uff0c\u4e00\u822c\u5c0d Youtube \u7684\u8a8d\u77e5\u4e0d\u5916\u4e4e\u662f\u64ad\u64ad\u5f71\u7247\uff0c\u80fd\u5920\u62ff\u4f86\u73a9\u667a\u6167\u63d2\u5ea7...","og_url":"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube","og_site_name":"Webduino \u6559\u5b78\u8cc7\u6e90","article_modified_time":"2023-03-30T09:10:47+00:00","og_image":[{"url":"https:\/\/photo.webduino.io\/resource\/socket\/useful\/youtube-01.webp"}],"twitter_card":"summary_large_image","twitter_misc":{"\u9810\u4f30\u95b1\u8b80\u6642\u9593":"5 \u5206\u9418"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube","url":"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube","name":"Youtube \u4e92\u52d5 | Webduino \u6559\u5b78\u8cc7\u6e90","isPartOf":{"@id":"https:\/\/resource.webduino.io\/#website"},"datePublished":"2023-03-15T14:48:01+00:00","dateModified":"2023-03-30T09:10:47+00:00","breadcrumb":{"@id":"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube#breadcrumb"},"inLanguage":"zh-TW","potentialAction":[{"@type":"ReadAction","target":["https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/resource.webduino.io\/docs\/socket\/useful\/youtube#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/resource.webduino.io\/"},{"@type":"ListItem","position":2,"name":"\u667a\u6167\u63d2\u5ea7","item":"https:\/\/resource.webduino.io\/docs\/socket"},{"@type":"ListItem","position":3,"name":"\u9032\u968e\u61c9\u7528","item":"https:\/\/resource.webduino.io\/docs\/socket\/useful"},{"@type":"ListItem","position":4,"name":"Youtube \u4e92\u52d5"}]},{"@type":"WebSite","@id":"https:\/\/resource.webduino.io\/#website","url":"https:\/\/resource.webduino.io\/","name":"Webduino \u5b78\u7fd2\u8cc7\u6e90\u5eab","description":"\u672c\u7db2\u7ad9\u63d0\u4f9b\u5b8c\u6574\u7684 Webduino STEAM \u6559\u80b2\u5b78\u7fd2\u8cc7\u6e90\uff0c\u5305\u542b\u958b\u767c\u677f\u3001\u7a0b\u5f0f\u7a4d\u6728\u3001\u96fb\u5b50\u96f6\u4ef6\u8207\u50b3\u611f\u5668\u7b49\u57fa\u790e\u64cd\u4f5c\uff0c\u8b93\u8001\u5e2b\u3001\u540c\u5b78\u3001maker \u80fd\u5920\u5feb\u901f\u4e0a\u624b Webduino\uff0c\u4e26\u4e0d\u5b9a\u671f\u66f4\u65b0\u8cc7\u8a0a\u6559\u80b2\u8da8\u52e2\u76f8\u95dc\u6587\u7ae0\u3002","publisher":{"@id":"https:\/\/resource.webduino.io\/#organization"},"alternateName":"Webduino \u5b78\u7fd2\u8cc7\u6e90\u5eab","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/resource.webduino.io\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-TW"},{"@type":"Organization","@id":"https:\/\/resource.webduino.io\/#organization","name":"Webduino","url":"https:\/\/resource.webduino.io\/","logo":{"@type":"ImageObject","inLanguage":"zh-TW","@id":"https:\/\/resource.webduino.io\/#\/schema\/logo\/image\/","url":"https:\/\/resource.webduino.io\/wp-content\/uploads\/2022\/07\/logo\u900f\u660e\u5e95.png","contentUrl":"https:\/\/resource.webduino.io\/wp-content\/uploads\/2022\/07\/logo\u900f\u660e\u5e95.png","width":1061,"height":1060,"caption":"Webduino"},"image":{"@id":"https:\/\/resource.webduino.io\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/resource.webduino.io\/wp-json\/wp\/v2\/docs\/3910"}],"collection":[{"href":"https:\/\/resource.webduino.io\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/resource.webduino.io\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/resource.webduino.io\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/resource.webduino.io\/wp-json\/wp\/v2\/comments?post=3910"}],"version-history":[{"count":2,"href":"https:\/\/resource.webduino.io\/wp-json\/wp\/v2\/docs\/3910\/revisions"}],"predecessor-version":[{"id":4855,"href":"https:\/\/resource.webduino.io\/wp-json\/wp\/v2\/docs\/3910\/revisions\/4855"}],"up":[{"embeddable":true,"href":"https:\/\/resource.webduino.io\/wp-json\/wp\/v2\/docs\/3868"}],"wp:attachment":[{"href":"https:\/\/resource.webduino.io\/wp-json\/wp\/v2\/media?parent=3910"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/resource.webduino.io\/wp-json\/wp\/v2\/doc_tag?post=3910"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}