当前位置:主页 > 头条 >

uniapp如何实现直播

时间:2020-12-18 20:16:08

  uniapp实现直播的方法:首先通过推流,代码为【<button class="btn" @click="start">开始推流</button>】;然后使用video标签实现拉流即可。

  本教程操作环境:windows7系统、uni-app2.5.1版本,该方法适用于所有品牌电脑。

  (免费):uni-app开发教程

  uniapp实现直播的方法:

  1、推流

  <template> <view class="content"> <template> <view> <live-pusher id="livePusher" ref="livePusher" class="livePusher" url="" **这里需要请求后端接口,拿到推流地址** mode="SD" :muted="true" :enable-camera="true" :auto-focus="true" :beauty="1" whiteness="2" aspect="9:16" @statechange="statechange" @netstatus="netstatus" @error="error" ></live-pusher> <button class="btn" @click="start">开始推流</button> <button class="btn" @click="pause">暂停推流</button> <button class="btn" @click="resume">resume</button> <button class="btn" @click="stop">停止推流</button> <button class="btn" @click="snapshot">快照</button> <button class="btn" @click="startPreview">开启摄像头预览</button> <button class="btn" @click="stopPreview">关闭摄像头预览</button> <button class="btn" @click="switchCamera">切换摄像头</button> <button class="btn" @click="bofang">去播放</button> </view> </template> </view> </template> <script> export default { data() { return { context:[] }; }, onReady() { // 注意:需要在onReady中 或 onLoad 延时text = uni.createLivePusherContext('livePusher', this); }, methods: { statechange(e) { console.log('statechange:' + JSON.stringify(e)); }, netstatus(e) { console.log('netstatus:' + JSON.stringify(e)); }, error(e) { console.log('error:' + JSON.stringify(e)); }, start(){ this.context.start({ success: a => { console.log('livePusher.start:' + JSON.stringify(a)); }, error:err=>{ console.log(err) } }); }, close() { this.context.close({ success: a => { console.log('livePusher.close:' + JSON.stringify(a)); } }); }, snapshot() { this.context.snapshot({ success: e => { console.log(JSON.stringify(e)); } }); }, resume() { this.context.resume({ success: a => { console.log('livePusher.resume:' + JSON.stringify(a)); } }); }, pause() { this.context.pause({ success: a => { console.log('livePusher.pause:' + JSON.stringify(a)); } }); }, stop() { this.context.stop({ success: a => { console.log(JSON.stringify(a)); } }); }, switchCamera() { this.context.switchCamera({ success: a => { console.log('livePusher.switchCamera:' + JSON.stringify(a)); } }); }, startPreview() { this.context.startPreview({ success: a => { console.log('livePusher.startPreview:' + JSON.stringify(a)); } }); }, stopPreview() { this.context.stopPreview({ success: a => { console.log('livePusher.stopPreview:' + JSON.stringify(a)); } }); }, bofang(){ this.$u.route({ url: 'pages/index/index' }) } } }; </script> <style> .content { display: flex; flex-direction: column; align-items: center; justify-content: center; } .logo { height: 200rpx; width: 200rpx; margin-top: 200rpx; margin-left: auto; margin-right: auto; margin-bottom: 50rpx; } .text-area { display: flex; justify-content: center; } .title { font-size: 36rpx; color: #8f8f94; } </style> **

  2、拉流

  这里是app拉流,用的是video标签,代码如下

  <template> <view> <video src="" style="width: 100vw;height: 400rpx;" :autoplay="true" controls></video> </view> </template> <script> export default {} </script>

  src是请求接口得到的拉流地址

  相关免费学习:php编程
 

热点推荐
1 香港 × 韩国联动升级:Web3政策推动联盟

消息,ME News 消息,3 月 22 日,香港-韩国「Web3政策推动联盟筹备委员会成立暨2026GWDC韩国站发...

2 分析:特朗普对伊朗发出“48小时通牒”

消息,受特朗普向伊朗发出 48 小时最后通牒、威胁打击电力设施影响,比特币周末快速回落,...

3 Resolv Labs:确认遭遇漏洞攻击,攻击者铸

消息,据官方公告,稳定币协议 Resolv 确认遭受攻击,攻击者利用该漏洞铸造了 5000 万枚无抵押...

4 机构:当前黄金走势的核心在于能源价格

消息,信达期货指出,从当前驱动看黄金走势的核心在于能源价格上行对利率预期的再约束。...

5 Haun Ventures CEO:全球支付领域正上演军备

消息,3 月 22 日,加密风险投资机构 Haun Ventures 创始人兼 CEO Katie Haun 接受 CNBC 采访时表示,「...

6 麻吉大哥再次开设25倍杠杆以太坊多单,

消息,Hyperbot 数据显示,今晨加密市场下跌导致以太坊多单遭全部清算之后,麻吉大哥黄立成...

7 美CFTC明确加密抵押品试点要求

消息,据ChainCatcher发推称:美国商品期货交易委员会发布加密资产抵押品试点细则,规定期货...

8 伊媒:若能源设施遭袭将打击地区内所有

消息,据伊朗媒体:伊朗武装部队联合作战司令部表示,一旦伊朗的燃料和能源基础设施遭到...

9 麻吉大哥ETH仓位遭强平亏损3022万美元

消息,据吴说区块链发推称:麻吉大哥黄立成持有的 5250 枚 ETH 多头仓位已遭全额强制平仓,其...

10 BTC 跌破 70000 美元, 24H跌幅达 1.1%,现报

消息,ME News 消息,3 月 22 日,据 CoinMarketCap 行情数据显示,BTC跌破70000 美元,现报价 69863 美...

成都来彰科技 蜀ICP备2025134723号-1

资讯来源互联网,如有版权问题请联系管理员删除。