开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 800|回复: 0
收起左侧

[技术分享] uniapp实现直播的方法

[复制链接]
结帖率:100% (4/4)
发表于 2021-10-27 08:48:53 | 显示全部楼层 |阅读模式   河北省石家庄市
uniapp实现直播的方法:
1,推流
[JavaScript] 纯文本查看 复制代码
<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() {
                        this.context = 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,拉流
[JavaScript] 纯文本查看 复制代码
<template>     
        <view>         
                <video src="" style="width: 100vw;height: 400rpx;" :autoplay="true" controls>
                </video>     
        </view>
</template>   
<script>
        export default {}
</script>


您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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