WebRTC Native M96 SDK接口封装--注册语音观测器对象获取原始音频数据registerAudioFrameObserver

这篇具有很好参考价值的文章主要介绍了WebRTC Native M96 SDK接口封装--注册语音观测器对象获取原始音频数据registerAudioFrameObserver。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

很多时候,上层app需要获取RTC中的音频数据,比如获取RTC麦克风采集的裸数据、扬声器播放的混音之后的裸数据,再比如麦克风和扬声器混音后的裸数据等等。

在实时音视频中,用户可以对采集到的音频数据进行前处理和后处理,获取自己想要的播放效果,例如变音、录音等等。

那么就需要上层APP向RTC SDK注册一个观测器,也就是我们所说的callback,订阅音频数据输出

注册音频观测器对象

virtual int registerAudioFrameObserver(IAudioFrameObserver* observer) = 0;

该方法用于注册音频观测器对象,即注册回调。当需要 SDK 给出 onMixedAudioFrame、onRecordAudioFrame、onPlaybackAudioFrame 或 onEarMonitoringAudioFrame 等回调时,需要使用该方法注册回调。

参数 IAudioFrameObserver

音频观测器文章来源地址https://www.toymoban.com/news/detail-415147.html

class IAudioFrameObserver
{
public:
  enum AUDIO_FRAME_TYPE {
    FRAME_TYPE_PCM16 = 0,  //PCM 16bit little endian
  };
  struct AudioFrame {
    AUDIO_FRAME_TYPE type;
    int samples;  //number of samples in this frame
    int bytesPerSample;  //number of bytes per sample: 2 for PCM16
    int channels;  //number of channels (data are int

到了这里,关于WebRTC Native M96 SDK接口封装--注册语音观测器对象获取原始音频数据registerAudioFrameObserver的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • native webrtc支持切换音频采集设备和获取裸流

    https://www.yuque.com/caokunchao/rtendq/oq8w3qgs3g59whru 版本webrtc m96 1、修改webrtc m96代码,向外提供一个adm指针的接口出来 2、外部来获取指针进行设备的选择 3、外部获取音频裸流,麦克风或者扬声器的数据 1、修改H:webrtcwebrtc-checkoutwebrtcapipeer_connection_interface.h,PeerConnectionFactoryInte

    2024年02月15日
    浏览(32)
  • webrtc视频播放器(srs.sdk.js)

    在vue中使用,需要将js方法中的函数通过 export default{}的方式暴露出来。 下面是通过srs.sdk.js文件中的SrsRtcPlayerAsync方法进行拉流; 还有一种方法,可以在index.html中通过script引入jswebrtc.min.js文件,调用方法直接使用 (1)封装组件 (2)使用 (1)封装 (2)使用

    2024年02月09日
    浏览(37)
  • React Native 桥接组件封装原生组件属性

    自定义属性可以让组件具备更多的灵活性,所以有必要在JS 层通过自定义属性动态传值。 因为 ViewManager 管理了整个组件的行为,所以要新增组件属性也需要在这里面(如 InfoViewManager)进行定义。 1、在InfoViewManager 中定义一个 setAvatar 方法。 @ReactProp 是 React Native 中的注解,用

    2024年01月21日
    浏览(31)
  • Flutter 与第三方 Native-SDK 的交互代理方案

    场景 在使用 Flutter 进行功能模块或者整体项目的开发时,如果需要(阶段性)频繁地和某个第三方 Native-SDK 进行交互,而该 Native-SDK 没有实现 Flutter 插件版本的情况下,如果直接把这部分交互 API 加入到原有的 channel 类里面,会使得该 channel 类变得臃肿,造成代码维护及迭代

    2024年02月02日
    浏览(31)
  • 【业务功能篇96】微服务-springcloud-springboot-认证服务-登录注册功能-Auth2.0-分布式session

      通过最基础的登录操作来完成登录处理 登录页面处理 认证服务的处理 会员中心的认证逻辑 service中的具体认证处理   OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 1.0(即完全废止了OAuth1.0)。 OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商

    2024年02月09日
    浏览(41)
  • 科大讯飞语音SDK下载及测试

    一、SDK 下载 进入讯飞开发平台官网http://www.xfyun.cn/,右上角进行注册登录,登录后点击进入SDK下载。            2.创建新应用               3.填入相关信息         4.创建完后提交后回到SDK下载页面,刷新页面,应用选择前面创建的应用,平台选择Linux,SDK选择

    2024年02月08日
    浏览(52)
  • 5.11.Webrtc接口的设计原理

    在上节课中呢,我向你介绍了web rtc的接口宏,那有很多同学会产生疑问啊,那觉得web rtc为什么要把接口设计的这么复杂?还非要通过宏来实现一个代理类,再通过代理类来调用到web rtc内部。 那为什么要这么设计呢?实际上它的这样一种设计啊,它是有一定理论的,那下面呢

    2024年02月08日
    浏览(68)
  • 福禄开放平台PHP接入封装SDK

    开放平台提供专业的数字权益商品标准化接口和免费接入服务,数字权益商品涵盖话费、流量、游戏、Q币、视频会员、加油卡、礼品卡等多种品类,可满足使用者多方面的业务需求,丰富企业的产品内容、提升竞争优势。 商品管理:提供API商户可以进行对接的商品类目和编

    2024年02月11日
    浏览(32)
  • 免费离线语音识别软件开发工具包(SDK):实现高效准确的语音识别

    语音识别技术在当今信息时代扮演着重要的角色,为用户提供了更加便捷和自然的交互方式。然而,传统的语音识别方案通常需要依赖云服务器进行语音数据的处理,这可能会涉及到隐私问题和网络延迟。为了解决这些问题,免费离线语音识别软件开发工具包(SDK)应运而生

    2024年02月04日
    浏览(38)
  • uniapp开发WebRTC语音直播间支持app(android+IOS)和H5,并记录了所有踩得坑

    1. 创建自己的语音直播间 2. 查询所有直播间列表 3.加入房间 4.申请上位 5.麦克风控制 6.声音控制 7.赠送礼物(特效 + 批量移动动画) 8.退出房间 1.uniapp 实现客户端H5、安卓、苹果 2.webRTC实现语音直播间(具体原理网上有很多文章我就不讲了,贴个图) 3.使用node.js搭建信令服

    2024年02月19日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包