OpenHarmony音视频—opus

简介

Opus是一种用于在互联网上进行交互式语音和音频传输的编解码器。它可以从低比特率窄带语音扩展到非常高的高品质立体声音乐。

下载安装

直接在OpenHarmony-SIG仓中搜索opus并下载。

使用说明

以OpenHarmony 3.1 Beta的rk3568版本为例

  1. 将下载的opus库代码存在以下路径:./third_party/opus

  2. 修改添加依赖的编译脚本,路径:/developtools/bytrace_standard/ohos.build

    {
    "subsystem": "developtools",
    "parts": {
    "bytrace_standard": {
    "module_list": [
    "//developtools/bytrace_standard/interfaces/innerkits/native:bytrace_core",
    "//developtools/bytrace_standard/bin:bytrace_target",
    "//developtools/bytrace_standard/bin:bytrace.cfg",
    "//developtools/bytrace_standard/interfaces/kits/js/napi:bytrace",
    "//third_party/opus:opus_targets",
    ],
    "inner_kits": [
    {
    "type": "so",
    "name": "//developtools/bytrace_standard/interfaces/innerkits/native:bytrace_core",
    "header": {
    "header_files": [
    "bytrace.h"
    ],
    "header_base": "//developtools/bytrace_standard/interfaces/innerkits/native/include"
    }
    }
    ],
    "test_list": [
    "//developtools/bytrace_standard/bin/test:unittest"
    ]
    }
    }
    }

  3. 编译:./build.sh --product-name rk3568 --ccache

  4. 生成库文件和一些可执行测试文件,路径:out/rk3568/developtools/profiler

接口说明

  1. 解码多流Opus数据包: opus_multistream_decode()
  2. 使用浮点输出解码多流Opus数据包: opus_multistream_decode_float()
  3. 分配和初始化多流解码器状态: opus_multistream_decoder_create()
  4. 在多流Opus解码器上执行CTL功能: opus_multistream_decoder_ctl()
  5. 释放已分配的OpusMSDecoder: opus_multistream_decoder_destroy()
  6. 获取OpusMSDecoder结构的大小: opus_multistream_decoder_get_size()
  7. 初始化以前分配的解码器状态对象: opus_multistream_decoder_init()
  8. 对多流Opus帧进行编码: opus_multistream_encode()
  9. 从浮点输入对多流Opus帧进行编码: opus_multistream_encode_float()
  10. 分配和初始化多流编码器状态: opus_multistream_encoder_create()
  11. 在多流Opus编码器上执行CTL功能: opus_multistream_encoder_ctl()
  12. 释放已分配的OpusMSEncoder: opus_multistream_encoder_destroy()
  13. 获取OpusMSEncoder结构的大小: opus_multistream_encoder_get_size()
  14. 初始化以前分配的多流编码器状态: opus_multistream_encoder_init()

约束与限制

在下述版本验证通过:

DevEco Studio 版本:3.1 Beta1(3.1.0.200),SDK:API9 Beta5(3.2.10.6)

目录结构

复制代码
|---- opus
|     |---- celt                                 #低延迟CELT
|     |---- doc                                  #资源文件及说明文档
|     |---- include                              #头文件
|     |---- m4                                   #预处理文件
|     |---- scripts                              #脚本文件
|     |---- silk                                 #语音编解码器Silk
|     |---- src                                  #opus实现                      
|           |---- opus_decoder.c                 #opus解码器
|           |---- opus_demo.c                    #opus示例
|           |---- opus_encoder.c                 #opus编码器
|           |---- opus_multistream_decoder.c     #opus多流解码器
|           |---- opus_multistream_encoder.c     #opus多流编码器
|     |---- tests                        #测试文件
|     |---- win32                        #win32项目和生成自动化
|     |---- README.md                    #安装使用方法

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ......

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ......

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ......

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题

2.性能优化方向

3.架构方向

4.鸿蒙开发系统底层方向

5.鸿蒙音视频开发方向

6.鸿蒙车载开发方向

7.鸿蒙南向开发方向

相关推荐
大师兄66689 小时前
HarmonyOS7 音视频播放:AVPlayer 实战
音视频·avplayer·harmonyos7
做萤石二次开发的哈哈13 小时前
萤石开放平台如何拉取 RTC 房间成员列表?
音视频·萤石开放平台
爱吃大芒果13 小时前
复刻 HarmonyKit 工具箱:基于新版 @kit 开发本地工具 App
华为·harmonyos
风华圆舞14 小时前
鸿蒙上跑通第一个 AI Agent:5 分钟接入智谱/DeepSeek
人工智能·华为·harmonyos·arkts·arkui·toolregistry
离离原上草7714 小时前
Pavo AI Agent 源码深度解析:从自然语言故事到视频分镜的 Multi-Agent 工程实践
人工智能·音视频
xd18557855515 小时前
电影匹配引擎-基于鸿蒙的心情电影推荐应用开发实践
人工智能·安全·华为·harmonyos·鸿蒙
YWamy16 小时前
播放器类音视频 SDK 选型指南:主流产品对比与适配建议
音视频
千逐6816 小时前
HarmonyOS 实战 | @State 不神秘——变量一变界面就跟着变
华为·harmonyos·鸿蒙
不才难以繁此生16 小时前
NavPathStack 返回错页怎么排查:中式美食详情页从搜索、收藏和推荐进入怎么回到原处
harmonyos·arkts·arkui·中式美食·navpathstack
weixin_4462608517 小时前
HumanForge:基于多智能体伪造推理的以人为中心深度伪造视频基准
人工智能·音视频