|
这是在官方技术大佬支持下,提供了模块的调用顺序, 非常感谢!!
- <!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: '826f5e5e147f453******' // 改成自己的
- }, 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>
复制代码
|
|