收藏
回答

小程序使用live-push推流同时使用live-player拉流,声音延迟画面几秒?

小程序使用live-push推流同时使用live-player拉流,live-player声音延迟画面几秒出现。

使用的是rtmp协议(派视)进行推流和拉流。同样的推流和拉流地址在浏览器上没有这种情况。原因一直是无解的状态求救啊...

回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    03-19

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    用出现问题的手机扫码提供下扫码结果截图

    03-19
    赞同
    回复
  • ~~~
    ~~~
    03-19

    就是一个player和pusher标签,没有其他的了


    03-19
    赞同
    回复 4
    • 社区技术运营专员-娇华
      社区技术运营专员-娇华
      03-20
      请按照要求补全信息,方便定位问题,另外,下次回复信息请在评论下回复。
      03-20
      回复
    • ~~~
      ~~~
      03-23回复社区技术运营专员-娇华
      <LivePlayer
                        src={successConnectLivePusher ? LivePlayerSrc : ""}
                        // mode="live"
                        mode="RTC"
                        id="livePlayer"
                        autoplay
                        orientation={"horizontal"}
                        onStateChange={SetLivePlayerState}
                        objectFit="contain"
                        muted={false}
                        backgroundMute={false}
                        // minCache={1}
                        // maxCache={3}
                        minCache={0.2}
                        maxCache={0.8}
                        onClick={res => {
                          if (childRef.current.clickLivePlayerCoverView) {
                            childRef.current.clickLivePlayerCoverView(); //swiper滑动回来之后VideoContorlBtn组件位置错误解决
                          }
                        }}
                      >
                        {coverViewModal.showCoverViewModal ? (
                          <CoverView className="opcityBack">
                            <CoverView className="whiteBack">
                              <CoverView className="modalMsg">
                                {coverViewModal.modalMsg}
                              </CoverView>
                              <CoverView className="modelBtn">
                                {coverViewModal.showCancel ? (
                                  <CoverView
                                    className="btn right"
                                    onClick={res => {
                                      setCoverViewModal({
                                        showCoverViewModal: false,
                                        modalMsg: "",
                                        showCancel: false
                                      });
                                    }}
                                  >
                                    取消
                                  </CoverView>
                                ) : (
                                  ""
                                )}
                                <CoverView
                                  style={
                                    !coverViewModal.showCancel
                                      ? { width: 40 + "vh" }
                                      : ""
                                  }
                                  className="btn"
                                  onClick={handleModal}
                                >
                                  确定
                                </CoverView>
                              </CoverView>
                            </CoverView>
                          </CoverView>
                        ) : (
                          ""
                        )}
                        {coverViewToast.showCoverViewToast ? (
                          <CoverView className="coverViewToast">
                            {coverViewToast.ToastMsg}
                          </CoverView>
                        ) : (
                          ""
                        )}
                        <VideoContorlBtn
                          ref={childRef}
                          cRef={childRef}
                          currentSwiper={currentSwiper}
                          params={this.$router.params}
                          LivePusher={LivePusherContext}
                          LivePlayer={LivePlayerContext}
                          LivePlayerStart={LivePlayerStart}
                          isLiveMsg={isLiveMsg}
                          handleTriggerMoviveBtn={res => {
                            setIsTriggerMoviveBtn(res);
                          }}
                          handleLivePusher={res => {
                            handleLivePusherAction(res);
                          }}
                          handleShowLivePusher={res => {
                            setShowLivePusher(res);
                          }}
                          handleTrggleBtn={res => {
                            setShowPresentationBtn(res);
                          }}
                          handleLeavel={res => {
                            setCoverViewModal({
                              showCoverViewModal: true,
                              modalMsg: res,
                              showCancel: true
                            });
                          }}
                          handleToast={res => {
                            setCoverViewToast({
                              showCoverViewToast: true,
                              ToastMsg: res
                            });
                          }}
                          changeSwiper={() => {
                            if (presentationImg) {
                              setCurrentSwiper(1);
                              hideToast()
                              current = 1;
                            }
                          }}
                        />
                      </LivePlayer>
                      <LivePusher
                        style={showLivePusher ? { display: "none" } : {}}
                        id="LivePusher"
                        className={
                          // deviceStore.isAndroid ? "livePusherAndroid" : "LivePusher"
                          "LivePusher"
                        }
                        autopush
                        muted={!LivePusherVoice}
                        url={LivePusherSrc}
                        orientation="horizontal"
                        onStateChange={SetLivePusherState}
                        // mode={'RTC'}
                        mode={deviceStore.isAndroid ? "SD" : "RTC"}
                        enableCamera={LivePusherMovie}
                        autoFocus
                        beauty={0}
                        whiteness={0}
                        aspect={"9:16"}
                        minBitrate={0}
                        maxBitrate={BandWidth}
                        waitingImage={meetingBg}
                        zoom={false}
                        backgroundMute={false}
                      />
      03-23
      回复
    • ~~~
      ~~~
      03-23
      使用taro写的这是主要代码
      03-23
      回复
    • 社区技术运营专员-娇华
      社区技术运营专员-娇华
      03-23回复~~~
      用原生组件是否会有问题?代码片段参照https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
      03-23
      回复
登录 后发表内容
问题标签