apicloud apicloud

注册
查看: 1061|回复: 7

[案例源码] dlna模块demo示例

版主

UID:83211

主题:
151
帖子:
7345
云币:
60196

APICloud粉丝端午节模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

[案例源码] dlna模块demo示例

1061 7 | 发表于 2018-11-12 21:29:08 |阅读模式 | |
DLNA模块实现了局域网LAN下使用WIFI连接的智能设备实现投屏功能, 本模块支持各大主流电视盒子(小米,华为,乐视,移动魔百盒等), 可以播放,暂停,快进退,调音量,退出。(有些盒子不支持:电信IPTV盒子等,未收集完全)


点击进入模块详情

  1. <!DOCTYPE html>
  2. <html>
  3.         <head>
  4.                 <title>Module Develop</title>
  5.                 <meta charset="utf-8">
  6.                 <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
  7.                 <style type="text/css">
  8.                         html, body {
  9.                                 height: 100%
  10.                         }
  11.                         body {
  12.                                 background-color: #fff;
  13.                                 margin: 0;
  14.                         }
  15.                         #wrap {
  16.                                 height: 100%;
  17.                                 position: relative;
  18.                         }
  19.                         #header {
  20.                                 padding-top: 20px;
  21.                                 background-color: #5082c2;
  22.                                 height: 44px;
  23.                                 position: relative;
  24.                         }
  25.                         #header h1 {
  26.                                 font-size: 20px;
  27.                                 height: 44px;
  28.                                 line-height: 44px;
  29.                                 margin: 0em;
  30.                                 color: #fff;
  31.                                 margin-left: 100px;
  32.                                 margin-right: 100px;
  33.                                 text-align: center;
  34.                         }
  35.                         #main {
  36.                                 display: -webkit-box;
  37.                                 -webkit-box-orient: vertical;
  38.                                 -webkit-box-pack: center;
  39.                         }
  40.                         a.button {
  41.                                 display: -webkit-box;
  42.                                 -webkit-box-orient: vertical;
  43.                                 -webkit-box-pack: center;
  44.                                 -webkit-box-align: center;
  45.                                 height: 32px;
  46.                                 margin: 8px;
  47.                                 background-color: rgba(240,240,240,1.0);
  48.                                 border-color: rgba(220,220,220,1.0);
  49.                                 border-width: 2px;
  50.                                 border-style: solid;
  51.                         }
  52.                         a.active {
  53.                                 background-color: rgba(240,240,240,0.7);
  54.                         }
  55.                 </style>
  56.         </head>
  57.         <body>
  58.                 <div id="wrap">
  59.                         <div id="main">
  60.                                 <a class="button" tapmode="active" onclick="startSearch()">搜索设备</a>
  61.                                 <br />
  62.                                 <input type="text" class="input1" name="url1" id="url1" size="40" value="http://7xue4m.com1.z0.glb.clouddn.com/apicloud/39f7c87f9167f08607e1cef4e48a2e05.mp4"/>
  63.                                 <br />
  64.                                 <a class="button" tapmode="active" onclick="startDLNA()">开始投屏</a>
  65.                                 <a class="button" tapmode="active" onclick="stopDLNA()">退出投屏</a>
  66.                                 <a class="button" tapmode="active" onclick="pause()">暂停播放</a>
  67.                                 <a class="button" tapmode="active" onclick="play()">开始播放</a>
  68.                                 <a class="button" tapmode="active" onclick="getPosition()">获取播放进度</a>
  69.                                 <a class="button" tapmode="active" onclick="seek()">设置进度</a>
  70.                                 <a class="button" tapmode="active" onclick="volume()">设置音量</a>
  71.                                 <br />
  72.                                 <input type="text" class="input1" name="url2" id="url2" size="40" value="http://7o50kb.com2.z0.glb.qiniucdn.com/c6.mp4"/>
  73.                                 <a class="button" tapmode="active" onclick="playUrl()">切换地址</a>
  74.                         </div>
  75.                 </div>
  76.         </body>
  77.         <script type="text/javascript">
  78.                 var demo = null;
  79.                 apiready = function() {
  80.                         demo = api.require('dlna');
  81.                         if (!demo) {
  82.                                 alert("请添加模块后编译");
  83.                                 return;
  84.                         }
  85.                 }
  86.                 function startSearch() {
  87.                         demo.startSearch(function(ret, err) {
  88.                                 alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  89.                         });
  90.                 }

  91.                 function startDLNA() {
  92.                         var url1 = document.getElementById("url1").value;
  93.                         if (!url1) {
  94.                                 alert('地址不能为空');
  95.                                 return;
  96.                         }
  97.                         demo.startDLNA({
  98.                                 xh : 0,
  99.                                 url : url1
  100.                         }, function(ret, err) {
  101.                                 alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  102.                         });
  103.                 }

  104.                 function stopDLNA() {
  105.                         demo.stopDLNA(function(ret, err) {
  106.                                 alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  107.                         });
  108.                 }

  109.                 function pause() {
  110.                         demo.pause(function(ret, err) {
  111.                                 alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  112.                         });
  113.                 }

  114.                 function play() {
  115.                         demo.play(function(ret, err) {
  116.                                 alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  117.                         });
  118.                 }

  119.                 function getPosition() {
  120.                         demo.getPosition(function(ret, err) {
  121.                                 alert(JSON.stringify(ret));
  122.                         });
  123.                 }

  124.                 function seek() {
  125.                         demo.seek({
  126.                                 process : 33 //单位是秒
  127.                         }, function(ret, err) {
  128.                                 alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  129.                         });
  130.                 }

  131.                 function volume() {
  132.                         demo.volume({
  133.                                 volume : 20 //0-100
  134.                         }, function(ret, err) {
  135.                                 alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  136.                         });
  137.                 }

  138.                 function playUrl() {
  139.                         var url2 = document.getElementById("url2").value;
  140.                         if (!url2) {
  141.                                 alert('地址不能为空');
  142.                                 return;
  143.                         }
  144.                         demo.playUrl({
  145.                                 url : url2
  146.                         }, function(ret, err) {
  147.                                 alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  148.                         });
  149.                 }
  150.         </script>
  151. </html>
复制代码



本帖子中包含更多资源    您需要 登录 才可以下载或查看,没有帐号?立即注册

新手上路

UID:484576

主题:
11
帖子:
38
云币:
21
发表于 2018-11-15 08:51:11 |
试了一下,只有声音,没有图像,可能是不支持我的盒子;另外不知道支不支持m3u8?

主题:
11
帖子:
44
云币:
57
发表于 2019-2-12 17:24:16 |
http://downloadpkg.apicloud.com/ ... b490caa8e073260.log

这个模块添加试用了之后 本地云编译就报错了是咋回事?

驾校小白

UID:754936

主题:
1
帖子:
11
云币:
14
发表于 2019-3-4 22:59:35 |
老板好,请问是只需要在前端增加这个代码文档吗

版主

UID:83211

主题:
151
帖子:
7345
云币:
60196

APICloud粉丝端午节模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

 楼主| 发表于 2019-3-5 11:16:25 |
woxinruyi 发表于 2019-3-4 22:59
老板好,请问是只需要在前端增加这个代码文档吗

这个文档是接口demo调用。。你参考这个demo接入自己的app

驾校小白

UID:754936

主题:
1
帖子:
11
云币:
14
发表于 2019-3-19 23:01:18 |
老板可以帮集成调用dlna模块实现APP投屏功能吗,方便的话加QQ:2898830491. 有偿

主题:
0
帖子:
3
云币:
4
发表于 2019-4-7 20:46:02 |
老大你好,最近在开发你这个dlan。支持镜像吗

版主

UID:83211

主题:
151
帖子:
7345
云币:
60196

APICloud粉丝端午节模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

 楼主| 发表于 2019-4-8 07:07:58 |
不支持哦。。
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表