5066关注15395浏览
在使用微信小程序的直播组件时,存在这样一种情况,第一次进入当前页面,方法只会触发onReady,但是不会播放直播流,查看日志,也没有触发bindnetstatus方法,但是第二次进入的时候,直播流才会触发,才能播放当前流,该现象不定时出现,烦请帮忙查看定位下。
代码如下:
wxml:
<view class='flexColumn'>
<text>房间号:{{home}}</text>
<live-player id="mylive" src="{{url}}" mode="RTC" autoplay bindstatechange="statechange" bindfullscreenchange="fullscreen" binderror="error" style="width: 300px; height: 225px;" />
<image style="width: 40rpx; height: 40rpx;" src="../../resources/images/fullscreen.png" bindtap='fullscreen'></image>
</view>
js:
// pages/liveplay/liveplay.js
Page({
/**
* 页面的初始数据
*/
data: {
// office wifi ip:192.168.253.2
// home wifi ip 192.168.1.2
url:"",
isFullScreen:false,
//直播间房号
home:"",
},
statechange(e) {
console.log('live-player code:', e.detail.code)
},
fullscreen(){
if (this.data.isFullScreen){
console.log("quit fullscreent")
this.data.playerContext.requestFullScreen()
}else{
this.playContext.exitFullScreen();
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log("跳转参数");
console.log(options);
if(options.home){
this.setData({
home:options.home,
})
}
if (options.url) {
this.setData({
url: options.url,
})
console.log("当前直播流地址:"+this.data.url)
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
//achieve live component
this.data.playerContext = wx.createLivePlayerContext('mylive');
this.data.playerContext.play({
success(){
console.log("播放流成功")
},
fail(){
console.log("播放流失败")
}
});
},
/**
* 生命周期函数-
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
吴新格
19人对此回答表示赞同
当然可以,其实这就不是直播模式,而是视频交互模式,最简单的2人视频交互模式就是每个人都开启一个live-push来推自己的视频播放流,并在本地调用对方的live-play流,即可实现两人视频交互。
展开190回复分享发布于 6年前评论(0)
收起评论
-
Willow
7人对此回答表示赞同
可是现在的问题是,会出现杂音等状况。应该如何处理呢
展开70回复分享发布于 6年前评论(0)
收起评论
-
Skye
5人对此回答表示赞同
您好,想问一下你的RCT模式下,可否能实现直播人和观看者的互相对话呢
展开50回复分享发布于 6年前评论(0)
收起评论