logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Android音频学习(十六)——CreateTrack

createTrack方法首先会通过getOutputForAttr根据下发的Attribute找到对应的output(传入参数&output.outputId, 对应audio_io_handle_t *output, 个人理解最终获取output的id),会调用到AudioPolicyManager的getOutputForAttr。在获取output时,有三个关键的步骤,首先是根据Attri

#学习
Android音频学习(十一)——audio_policy_configuration.xml解析(2)

上一篇内容分析了音频配置文件中节点对应的具体的类。包括mixPort,devicePort,route。

#学习#xml
Android音频学习(十)——audio_policy_configuration.xml解析(1)

Android 的音频策略配置文件j即APS的配置文件()是系统音频策略的基石,决定者音频数据的流向。其解析过程直接影响设备行为采用模块化 XML 设计,解析过程涉及多个关键步骤。

#android#音视频#学习
Android音频学习(二)——Android音频简介

先从Android整体结构了解音频的框架,有个大致的概念,后面再针对每一层进行详细说明

文章图片
#android#学习
Android音频学习(六)——MediaPlayer创建AudioTrack

使用MediaPlayer播放音视频时,最终会创建AudioTrack对象用于播放音频数据。MediaPlayer创建AudioTrack分为三个步骤,分别是:1. 创建NuPlayer对象2. 创建AudioOutput对象,传递给AudioSink3.在MediaPlayer::start()中创建AudioTrack对象。

#android#音视频#学习
Android音频学习(二十)——高通HAL

动态 PCM 允许 ALSA PCM 设备在 PCM 流运行时将其 PCM 音频数字路由到各种数字端点。例如,PCM0 可以将数字音频路由到 I2S DAI0、I2S DAI1 或 PDM DAI2。这对于公开多个 ALSA PCM 并可以路由到多个 DAI 的片上系统 DSP 驱动程序非常有用。DPCM 运行时路由由 ALSA 混音器设置确定,方式与 ASoC 编解码器驱动程序中模拟信号的路由方

#android#音视频#学习
Android音频学习(十七)——音频数据流转

在创建track对象时,调用其构造函数,将会创建服务端代理对象mAudioTrackServerProxy,它负责管理与同步匿名共享内存的使用,shareBuffer是应用下发的参数,为0是MODE_STREAM模式,mBuffer为以上介绍的共享内存地址,不为0则是MODE_STATIC模式,mBuffer为应用传过来的内存地址。这里的mBuffer则是传输音频数据的共享内存的首地址,为申请内存

#音视频#学习
Android音频学习(十九)——音频HAL层简介

核心结构体audio_hw_device,定义设备级操作接口,如设置参数,打开/关闭输出/输入流等,结构体定义路径:libhardware/include/hardware/audio.h....../**/........................该函数主要是设置硬件参数。功能定位:Audio HAL 是 Android 音频系统的硬件桥梁,标准化硬件操作,隔离厂商差异。处理流程:从初始化

#学习
Android音频学习(十三)——音量配置文件分析

在Android系统中,音量曲线通常指的是将用户的音量等级(比如0到15级)映射到实际的硬件增益或分贝值的曲线。

#学习
Android音频学习(五)——AudioTrack调用方法

在创建AudioTrack对象时,会调用到set()函数:在set()方法中,调用了createTrack_l, 创建IAudioTrack在createTrack_l()中,获取到AudioFlinger服务,然后通过AudioFlinger来创建对应的track接下来会调用到本地服务层AudioFlinger中,相对比较复杂,会在后续文章中说明。

#学习
    共 15 条
  • 1
  • 2
  • 请选择