Android OpenSL介绍 并实现播放PCM功能

本文介绍了OpenSL ES,一个嵌入式跨平台的音频处理库,详细讲解了如何使用OpenSL播放PCM音频,包括创建接口对象、设置混音器、创建播放器、设置缓冲队列和回调函数、启动播放等步骤,并提到了参考的Android NDK官方Demo。
摘要由CSDN通过智能技术生成
目录
  1. Android 万能音频播放器 一 C++多线程解码音频数据
  2. Android 万能音频播放器 二 C++队列存放AvPacket
  3. OpenSL介绍 并实现播放PCM功能

    前言

    简单来说OpenSL ES是一个嵌入式、跨平台、免费的、音频 处理库,本文旨在介绍OpenSL的使用方法和参数设置,绝大部分内容参考Android官方NDKdemo,地址为android NDK demo,想学NDK开发的伙伴可以去参考一下,受益良多。

    使用流程

    1、创建接口对象
    2、设置混音器
    3、创建播放器(录音器)
    4、设置缓冲队列和回调函数
    5、设置播放状态
    6、启动回调函数

    接口说明

    1、类接口:SLObjectItf
    通过SLObjectItf接口类我们可以创建所需要的各种类型的类接口,比如:
    创建引擎接口对象:SLObjectItf engineObject
    创建混音器接口对象:SLObjectItf outputMixObject
    创建播放器接口对象:SLObjectItf playerObject
    2、具体的接口类
    引擎:SLEngineItf
    播放器:SLPlayItf
    声音控制器:SLVolumeItf等等

    创建三部曲
    如:创建引擎接口对象( createrealizeget )

SLObjectItf engineObject = NULL;//用SLObjectItf声明引擎接口对象  
SLEngineItf engineEngine = NULL;//声明具体的引擎对象实例  
void createEngine()  
{  
    SLresult result;//返回结果  
    //第一步:创建引擎 
    result = slCreateEngine(&engineObject, 0, NULL, 0, NULL, NULL);

    //第二步:实现(Realize)engineObject接口对象
    result = (
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值