OpenHarmony音频和音乐编码格式—vorbis

这篇具有很好参考价值的文章主要介绍了OpenHarmony音频和音乐编码格式—vorbis。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

一种通用音频和音乐编码格式。 Vorbis编解码器规范属于公共领域。所有技术细节都已发布并记录,任何软件实体都可以充分利用该格式,而无需支付许可费、版税或专利问题。

OpenHarmony音频和音乐编码格式—vorbis,面试,移动开发,HarmonyOS,音视频,harmonyOS,鸿蒙开发,OpenHarmony,移动开发

下载安装

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

使用说明

以OpenHarmony 3.1 Beta的rk3568版本为例

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

  2. 将libogg库一起放入third_party目录

  3. 修改添加依赖的编译脚本,路径:/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/libogg:libogg",
        "//third_party/vorbis:vorbis_test",
        "//third_party/vorbis:vorbisfile",
        "//third_party/vorbis:vorbisenc",
        "//third_party/vorbis:vorbis"
      ],
      "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"
      ]
    }
  }
}
  1. 编译:./build.sh --product-name rk3568 --ccache

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

接口说明

  1. Vorbis headers处理: vorbis_info_init() vorbis_comment_init()
  2. 转换到任何PCM格式并输出: vorbis_synthesis_pcmout()
  3. 清理libvorbis存储: vorbis_block_clear() vorbis_dsp_clear()
  4. 清理逻辑位流: vorbis_comment_clear() vorbis_info_clear()
  5. 使用VBR质量模式: vorbis_encode_init_vbr()
  6. 使用平均比特率模式: vorbis_encode_init()
  7. 设置分析状态和辅助编码存储: vorbis_analysis_init() vorbis_block_init()
  8. 使用比特率管理: vorbis_analysis() vorbis_bitrate_addblock()
  9. vorbis进行一些数据预分析,然后划分块进行更复杂的处理: vorbis_analysis_blockout()

约束与限制

在下述版本验证通过:

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

目录结构

|---- vorbis
|     |---- cmake      #编译文件
|     |---- contrib    #OSS-Fuzz构建脚本
|     |---- debian     #用于构建Debian的规则/规范文件deb包
|     |---- doc        #Vorbis文件
|     |---- examples   #libvorbis、libvorbisfile和libvorbisenc的编程使用的示例代码
|     |---- include    #头文件
|           |---- vorbis
|           |---- vorbisenc.h                  #设置编码器所需的操作
|           |---- vorbisfile.h                 #基于stdio的方便库,用于打开/查找/解码
|     |---- lib        #Vorbis音频编码格式的实现
|           |---- books
|                 |---- coupled
|                 |---- res_books_51.h         #5.1环绕声的静态码本
|                       |---- res_books_stereo.h     #由huff/huffbuld自动生成的静态码本
|                 |---- floor
|                       |---- floor_books.h          #由huff/huffbuld自动生成的静态码本
|                 |---- uncoupled
|                       |---- res_books_uncoupled.h  #由huff/huffbuld自动生成的静态码本
|           |---- modes
|                 |---- floor_all.h                  #关键floor设置
|                 |---- psych_8.h                    #8kHz心理声学设置
|                 |---- setup_44p51.h                #44.1/48kHz 5.1环绕声模式的顶级设置
|           |---- analysis.c                         #单块PCM分析模式调度
|           |---- block.c                            #PCM数据向量阻塞、开窗和拆卸/重新组装
|           |---- codebook.c                         #基本码本打包/解包/编码/解码操作
|           |---- envelope.c                         #PCM数据包络分析
|           |---- mapping0.c                         #通道映射0实现
|           |---- registry.c                         #time, floor, res后端和通道映射注册表
|           |---- synthesis.c                        #单块PCM合成
|           |---- vorbisenc.c                        #编码器模式设置的简单编程接口
|           |---- vorbisfile.c                       #基于stdio的便利库,用于打开/查找/解码
|           |---- window.c                           #窗口功能
|     |---- m4         #为libogg配置路径
|     |---- macosx     #MacOS X的项目文件
|     |---- symbian    #禁用某些警告
|     |---- test       #测试代码
|     |---- vq         #辅助码本
|     |---- win32      #Win32项目文件和生成自动化
|     |---- README.md  # 安装使用方法

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

《鸿蒙开发学习手册》:

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

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

OpenHarmony音频和音乐编码格式—vorbis,面试,移动开发,HarmonyOS,音视频,harmonyOS,鸿蒙开发,OpenHarmony,移动开发

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

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

OpenHarmony音频和音乐编码格式—vorbis,面试,移动开发,HarmonyOS,音视频,harmonyOS,鸿蒙开发,OpenHarmony,移动开发

基于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. ……

OpenHarmony音频和音乐编码格式—vorbis,面试,移动开发,HarmonyOS,音视频,harmonyOS,鸿蒙开发,OpenHarmony,移动开发

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

OpenHarmony音频和音乐编码格式—vorbis,面试,移动开发,HarmonyOS,音视频,harmonyOS,鸿蒙开发,OpenHarmony,移动开发

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

1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向

OpenHarmony音频和音乐编码格式—vorbis,面试,移动开发,HarmonyOS,音视频,harmonyOS,鸿蒙开发,OpenHarmony,移动开发文章来源地址https://www.toymoban.com/news/detail-859177.html

到了这里,关于OpenHarmony音频和音乐编码格式—vorbis的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • uniapp 点击播放音乐(音频)

     uniapp通过uni.createInnerAudioContext()获取音频的信息 通过innerAudioContext.autoplay = true; //自动播放; 通过innerAudioContext.loop=true; //循环播放; 通过innerAudioContext.src=”音乐地址“  play()播放和pause()暂停 使用play() 播放方法时,加入定时器,可以变得相对于稳定的使用。  完整代码如下

    2024年02月07日
    浏览(38)
  • 手机备忘录怎么加音频音乐

    备忘录是手机上常见的工具,类型有很多,不同的备忘录各自所具备的功能和操作方式各有不同。有些多功能的备忘录,比如云便签,不仅可以添加文字内容信息,还能添加音频或音乐文件,将音乐和文字一起保存。具体这款手机备忘录怎么加音频音乐呢? 一、在手机上打开

    2024年02月11日
    浏览(39)
  • Meta开源AI音频和音乐生成模型

    在过去的几年里,我们看到了AI在图像、视频和文本生成方面的巨大进步。然而,音频生成领域的进展却相对滞后。MetaAI这次再为开源贡献重磅产品:AudioCraft,一个支持多个音频生成模型的音频生成开发框架。 AudioCraft开源地址 开源地址:https://github.com/facebookresearch/audiocraf

    2024年02月14日
    浏览(37)
  • Unity 3D通过脚本控制音频音量、继续、暂停、停止播放;判断当前音乐是否播放;切换音乐;

    演示 在HideInInspector中将三首音乐拖到音乐组中,自定义音乐数量也可以,需要修改代码中切换音乐函数中的部分内容。调用脚本中的函数即可实现对应功能。 重复播放音乐代码如下

    2024年02月12日
    浏览(56)
  • 当音乐遇上Python:用Pydub自动分割音频

    🎵 🎵 🎵 当音乐遇上Python:用Pydub自动分割音频 随着短视频应用的普及,越来越多人开始了解并尝试制作自己的短视频作品。而在制作短视频时,背景音乐的选择和使用也是非常重要的一步。很多人喜欢选择一首长音乐,再通过剪辑软件将其剪成多段来使用,这种做法虽然

    2024年02月02日
    浏览(37)
  • AI生成和修改音频音乐类工具网站集合

    AI时代,有最强问答ChatGPT,有文本生成图像的Stable Diffusion,Midjourney,当然也少不了AI生成和修改音频的各种工具,我们整理出其中最具影响力的,并且可能最用得上的一些收录到 AI生成和修改音频类工具网站集合​ https://www.webhub123.com/#/home/detail?p=3fnKb-3fpAW 效果如下 ​ 登录后可

    2024年02月07日
    浏览(43)
  • 音视频开发:音频编码原理+采集+编码实战

    消除冗余信息,压缩量最大,也叫有损压缩 剔除人耳听觉范围外的音频信号20Hz以下和20000Hz以上; 去除被掩蔽的音频信号,信号的遮蔽可以分为频域遮蔽和时域遮蔽; 频域遮蔽效应 屏蔽70分贝以下,20HZ以下,20000HZ以上 屏蔽分贝小,频率小的声音 两个频率相近发出的声音,

    2024年02月05日
    浏览(57)
  • 音频分离:分离人声和背景音乐的方法及代码实现

    音频分离是一项重要的音频处理任务,它可以将音频信号中的人声和背景音乐分开,使得我们能够对它们进行独立的处理和分析。本文将介绍一些常用的音频分离方法,并提供相应的代码实现。 基于混合模型的音频分离方法 基于混合模型的音频分离方法利用统计模型对混合

    2024年04月23日
    浏览(51)
  • 让音乐响起:使用Python和Pygame轻松播放音频文件

    在这个数字化时代,音频和音乐已成为我们日常生活的一部分。不管是为了放松、学习还是工作,一个好的音乐播放器总是必不可少的。但你知道吗?用Python和Pygame,你可以轻松地制作自己的音频播放器!本文将引导你完成这一过程,让你体验到编程带来的乐趣和成就感。

    2024年02月22日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包