Push-Stream starten] und verwenden Sie dann das Video-Tag, um den Stream abzurufen."/> Push-Stream starten] und verwenden Sie dann das Video-Tag, um den Stream abzurufen.">

Heim  >  Artikel  >  Web-Frontend  >  Wie Uniapp Live-Übertragungen umsetzt

Wie Uniapp Live-Übertragungen umsetzt

coldplay.xixi
coldplay.xixiOriginal
2020-12-15 17:50:0512975Durchsuche

Uniapp implementiert Live-Streaming: Drücken Sie zuerst den Stream, der Code lautet [75964874f6d2b01423dacf1140640b62Start push65281c5ac262bf6d81768915a4a77ac0] und verwenden Sie dann das Video-Tag, um Pull zu erreichen Einfach streamen.

Wie Uniapp Live-Übertragungen umsetzt

Die Betriebsumgebung dieses Tutorials: Windows7-System, Uni-App2.5.1-Version, Dell G3-Computer.

Uniapps Methode zur Implementierung von Live-Übertragungen:

1. Push-Streaming

<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 延时
        this.context = uni.createLivePusherContext(&#39;livePusher&#39;, this);
    },
    methods: {
        statechange(e) {
            console.log(&#39;statechange:&#39; + JSON.stringify(e));
        },
        netstatus(e) {
            console.log(&#39;netstatus:&#39; + JSON.stringify(e));
        },
        error(e) {
            console.log(&#39;error:&#39; + JSON.stringify(e));
        },
        start(){
            this.context.start({
                success: a => {
                    console.log(&#39;livePusher.start:&#39; + JSON.stringify(a));
                },
                error:err=>{
                    console.log(err)
                }
            });
        },
        close() {
            this.context.close({
                success: a => {
                    console.log(&#39;livePusher.close:&#39; + JSON.stringify(a));
                }
            });
        },
        snapshot() {
            this.context.snapshot({
                success: e => {
                    console.log(JSON.stringify(e));
                }
            });
        },
        resume() {
            this.context.resume({
                success: a => {
                    console.log(&#39;livePusher.resume:&#39; + JSON.stringify(a));
                }
            });
        },
        pause() {
            this.context.pause({
                success: a => {
                    console.log(&#39;livePusher.pause:&#39; + JSON.stringify(a));
                }
            });
        },
        stop() {
            this.context.stop({
                success: a => {
                    console.log(JSON.stringify(a));
                }
            });
        },
        switchCamera() {
            this.context.switchCamera({
                success: a => {
                    console.log(&#39;livePusher.switchCamera:&#39; + JSON.stringify(a));
                }
            });
        },
        startPreview() {
            this.context.startPreview({
                success: a => {
                    console.log(&#39;livePusher.startPreview:&#39; + JSON.stringify(a));
                }
            });
        },
        stopPreview() {
            this.context.stopPreview({
                success: a => {
                    console.log(&#39;livePusher.stopPreview:&#39; + JSON.stringify(a));
                }
            });
        },
        bofang(){
            this.$u.route({
                url: &#39;pages/index/index&#39;
            })
        }
    }
};
</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. Pull-Streaming

Hier ist die App, die den Stream mithilfe des Video-Tags abruft. Der Code lautet wie folgt:

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

src ist die Anforderungsschnittstelle. Die erhaltene Streaming-Adresse.

Verwandte kostenlose Lernempfehlungen: PHP-Programmierung

Das obige ist der detaillierte Inhalt vonWie Uniapp Live-Übertragungen umsetzt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn