对讲接入

1. API 接口

1.1. createIntercom

描述

创建对讲实例

示例

  • intercomPlayer = playjs.createIntercom(options: Object)

参数

字段 类型 描述 默认值 是否必填
devId String 设备唯一标识
audioChan Number 音频声道数 1
mediaProtocol String 媒体协议:WS WS
audioType String 音频格式:G711A(WS)、AAC(RTMP) G711A
audioSample Number 音频采样率:8000(WS)、48000(RTMP) 8000
audioBits Number 音频采样位数 16
audioRate Number 音频码率 0
optId String 业务操作 id,可用于操作留痕记录等 “”
expireTime Number 地址过期时间,单位为秒 20
addrType number 地址类型:1:外网地址;2:内网地址; 1
startPrompt buffer 开始提示音,pcm 格式,16 位,采样率 8000,单通道
stopPrompt buffer 结束提示音,pcm 格式,16 位,采样率 8000,单通道

1.2. 方法

1.2.1. start

描述

开始对讲

示例

  • intercomPlayer.start()

1.2.2. stop

描述

关闭对讲

示例

  • intercomPlayer.stop()

1.2.3. getStartTime

描述

获取对讲的开始时间,返回客户端 utc 时间戳,单位 ms。

示例

  • intercomPlayer.getStartTime()

注:如果要获取结束时间,请参考 HOOKS 中 afterDestory

1.2.4. getDuration

描述

获取已经对讲的时长,单位 ms。

示例

  • intercomPlayer.getDuration()

1.2.5. 【1.3.10-P7】enableMic

描述

开麦,恢复麦采集

示例

  • intercomPlayer.enableMic()

1.2.6. 【1.3.10-P7】disableMic

描述

闭麦功能,给设备端下发静音

示例

  • intercomPlayer.disableMic()

1.3. 属性

1.3.1. volume:number

描述

设置客户端播放音量

示例

  • intercomPlayer.volume = 0.5

设置取值范围:Number,预期通道音量,范围 0 - 1

2. 接口示例

<script src="./streamax-player.js"></script>
<script>
    const StPlayer = H5Player;
    StPlayer.config = {
        httpProtocol: 'http',
        ip: '192.168.132.72',
        port: 21250,
    };
    StPlayer.defaultHeaders = {
        _appId: '1',
        _tenantId: '2',
    }
    let intercom = null;
    // 打开对讲
    function openIntercom() {
        if (intercom) return;
        intercom = StPlayer.createIntercom({
            devId: 'f98dc093bfe74e5e8ff368bb7a04fea9'
        });
        intercom.hooks.afterLoaded.tap('play', () => {
            intercom.start();
        });
        intercom.hooks.afterListenTalkAutoClose.tap('auto close', () => {
            console.log('auto close');
        });
    }
    // 关闭对讲
    function closeIntercom() {
        if (intercom) {
            intercom.stop();
            intercom = null;
        }
    }
</script>