帖子
帖子
用户
博客
课程
显示全部楼层
380
帖子
4
勋章
6
Y币

agoraLive 执行顺序分享

[复制链接]
发表于 2023-4-13 14:12:42





<!DOCTYPE HTML>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport"
        content="maximum-scale=1.0, minimum-scale=1.0, user-scalable=0, initial-scale=1.0, width=device-width" />
    <meta name="format-detection" content="telephone=no, email=no, date=no, address=no">
    <title>Hello APP</title>
    <link rel="stylesheet" type="text/css" href="../css/api.css" />
    <style>
        div {
            margin: 5px;
            float: left;
        }
    </style>
</head>

<body>

    <p>a手机操作:</p>
    <div onclick="fnsetlocView(uid1)">设置本地123的窗口</div>
    <div onclick="fnstartPreview(uid1)">预览本地123的窗口</div>
    <div onclick="fnjoinChannelByToken(uid1)">123加入频道</div>
    <div>对方456加入频道后操作:</div>
    <div onclick="fnsetremView(uid2)">设置远端456的窗口</div>
    <div onclick="fnsetupRemoteVideo(uid2)">打开远端456的窗口</div>


    <p style="clear: left;">b手机操作 </p>
    <div onclick="fnsetlocView(uid2)">设置本地456的窗口</div>
    <div onclick="fnstartPreview(uid2)">预览本地456的窗口</div>
    <div onclick="fnjoinChannelByToken(uid2)">456加入频道</div>
    <div>对方123加入频道后操作:</div>
    <div onclick="fnsetremView(uid1)">设置远端123的窗口</div>
    <div onclick="fnsetupRemoteVideo(uid1)">打开远端123的窗口</div>



</body>
<script type="text/javascript" src="../script/api.js"></script>
<script type="text/javascript">
    var agoraLive;
    var uid1 = 123321;
    var uid2 = 456654;
    apiready = function () {
        agoraLive = api.require('agoraLive');
        agoraLive.init({
            appId: '826f5******'   //填写自己的
        }, function (ret) {
            if (ret.status) {

                agoraLive.enableVideo();

                //agoraLive.enableAudio();
                agoraLive.setChannelProfile({
                    profile: 'liveBroadcasting'
                }, function (ret) {
                    if (ret.status) {
                        alert('设置直播模式成功');
                    }
                });

                //仅Android
                agoraLive.setClientRoleOrAndroid({
                    role: '1'
                }, function (ret) {

                });

                //设置加入频道监听
                agoraLive.userJoinedListener({
                    enable: true
                }, function (ret) {
                    api.alert({ msg: '加入频道监听:' + JSON.stringify(ret) });
                });

                agoraLive.firstRemoteVideoFrameListener({
                    enable: true
                }, function (ret) {
                    console.log('第一帧远程视频显示在视图回调:' + JSON.stringify(ret));
                });

                agoraLive.firstRemoteVideoDecodedListener({
                    enable: true
                }, function (ret) {
                    console.log('收到第一帧远程视频流并解码成功时,触发此调用:' + JSON.stringify(ret));
                });

                agoraLive.errorListener({
                    enable: true
                }, function (ret) {

                    console.log('err:-----' + JSON.stringify(ret))
                });
                alert('初始化成功');
            }
        });



    };

    function fnjoinChannelByToken(uid) {

        agoraLive.joinChannelByToken({
            channelToken: '',
            channelId: 'testac',
            uid: uid
        }, function (ret, err) {
            if (ret.status) {
                api.alert({ msg: JSON.stringify(ret) });
            } else {
                api.alert({ msg: JSON.stringify(err) });
            }
        });
    }

    //设置本地窗口
    function fnsetlocView(uid) {
        agoraLive.initVideoRect({
            uid: uid,
            rect: {
                x: 0,
                y: 350,
                w: 120,
                h: 200
            },
            fixedOn: api.frameName
        });
    }

    function fnstartPreview(uid) {

        agoraLive.setupLocalVideo({
            renderMode: 'RENDER_MODE_HIDDEN',
            uid: uid
        }, function (ret) {
            if (ret.status) {
                //alert(JSON.stringify(ret));
            }
        });

        agoraLive.startPreview(function (ret) {
            if (ret.status) {
                alert('本地预览成功');
                agoraLive.bringToFront({ uid: uid });
            }
        });
    }

    //设置远端窗口
    function fnsetremView(uid) {

        agoraLive.initVideoRect({
            uid: uid,
            rect: {
                x: 220,
                y: 400,
                w: 200,
                h: 300
            }
        });
    }

    //打开远端窗口

    function fnsetupRemoteVideo(uid) {
        agoraLive.setupRemoteVideo({
            renderMode: 'RENDER_MODE_HIDDEN',
            uid: uid
        }, function (ret) {
            if (ret.status) {
                alert('打开远端窗口成功');
            }
        });
    }


</script>

</html>


您需要登录后才可以回帖 登录

本版积分规则