OpenSLES android平台播放音频pcm

目录

 

播放流程和条件

Opengl SLObjectItf 对象创建的四板斧

播放pcm的流程


播放流程和条件

android自带的openSL库,可用来解码音频,也可以来播放音频,以及录音。要在jni层调用:

1、cmakeList 中target_link_libraries 内引入库:OpenSLES

2、引入头文件:

#include "SLES/OpenSLES.h"
#include "SLES/OpenSLES_Android.h"

播放流程

播放队列

只要往播放队列中压入数据,就会播放。这里采用的是回调函数,当取出buf播放完毕就会清理buf,让队列空出,这时候就push数据叫你去,从而播放。

OPengl SLObjectItf 对象创建的四板斧

一般对象创建完毕后,用到的就是 SLObjectItf的对象 interface接口功能对象

1、定义 SLObjectItf

Opensl机构体SLObjectItf可以定义大部分结构体,此篇文章结构体对象都是用它初始化的。结构体 SLObjectItf 类似于java的Object类,属于一个基结构体。音频的大多数结构体都继承于它。

typedef const struct SLObjectItf_ * const * SLObjectItf;

从结构以定义看出,它是一个结构以指针,因此,定义一个SLObjectItf 变量,其实是定义一个 SLObjectItf的指针

2、创建 slCreate

因为SLObjectItf是指针对象,为了更好管理内存,会将SLObjectItf地址传入opensl中,来创建。下面为创建Engine引擎的例子:

SLObjectIt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值