腾讯互动直播 音频 视频 踩过的坑 二

腾讯互动直播 音频 视频 踩过的坑 二

1),再项目中需要主播能够调节用户端听到的声音的大小,这里看到sdk里边有对应的调节音量大小的接口。
    public native int SetAudioDataDBVolume(int var1, int var2);

    public native int GetAudioDataDBVolume(int var1);

通过对帮助文档查看
SetAudioDataDBVolume

public int SetAudioDataDBVolume(int src_type,
                                int volume)
设置某类型的音频音量。
Parameters:
[in] - src_type 音频数据类型。
[in] - volume 音量 (范围 0-121)。// 0代表静音,-30db-30db,每增加1增加0.5db
Returns:
成功返回AVError.AV_OK, 否则返回AVError.AV_ERR_FAILED。
注意:1.调用这个接口一定是创建房间完成,而且再主线程调用,不能再回调中使用,否则会返回错误值,具体对应 错误请参考上一篇,详细讲述了。
2.再调用这个接口的时候必须对这个进行回调,否则会返回失败,这也是一个坑例如你假如调节播放声音必须再观众端房间完成的时候进行回调初始化如下:
ILiveSDK.getInstance().getAvAudioCtrl().registAudioDataCallbackWithByteBuffer(AVAudioCtrl.AudioDataSourceType.AUDIO_DATA_SOURCE_PLAY, new AVAudioCtrl.RegistAudioDataCompleteCallbackWithByteBuffer() {
                    @Override
                    public int onComplete(AVAudioCtrl.AudioFrameWithByteBuffer audioFrameWithByteBuffer, int i) {

                        return 0;
                    }
                });
再主线程中调用
SetAudioDataDBVolume(AVAudioCtrl.AudioDataSourceType.AUDIO_DATA_SOURCE_PLAY, 0);//达到静音
我测试了下观众端通过上述 设置音量的时候没效果。
而主播端通过对
        public static final int AUDIO_DATA_SOURCE_MIXTOSEND = 1;
        public static final int AUDIO_DATA_SOURCE_SEND = 2;
这两个进行回调,可以达到主播端控制观众端音量的效果。
所以一路走来满满的是坑




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值