OPUS进行音频编码与解码

1 篇文章 0 订阅
1 篇文章 0 订阅

再进行OPUS编码与解码的时候,走了许多弯路。以下介绍一下实现OPUS编码与解码的步骤。

1. 去官网或者github找到能调通的源码,生成出相应的库opus.lib

2.在自己的项目中,把.h和.lib添加到工程里面(VS项目右键属性 VC++目录,然后库目录和包含目录)。

3.创建编码器或者解码器

enc = opus_encoder_create(kDefaultSampleRate, 2, OPUS_APPLICATION_AUDIO, &error);

dec = opus_decoder_create(kDefaultSampleRate, 2, &error);

参数具体含义可以去opus官网下载pdf或者直接在官网也可以看,比任何地方将的都详细。

4.编码或者解码数据

int encodeBack = opus_encode(enc, pcm_bytes, frame_size, opus_data_encoder, 960);

 int de_frame_size = opus_decode(dec, opus_data_encoder, encodeBack, _ini_pcm_bytes, frame_size, 0);

你没看错,就是这么简单,创建,然后直接用。复用时,用它的init()函数。

5.记得释放。opus_decoder_destroy(dec);

走过的坑。 这是一个前后编解码数据相关联的编码解码方式,所以,编码解码的过程中,同一段音频,必须得用同一个编码或者解码器。只有真正结束了,才能释放,不然可能会出现意想不到得结果。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WindWinsWing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值