`
guobosheng
  • 浏览: 18167 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android 音频系统java部分代码阅读

阅读更多
音频系统java相关的代码在./frameworks/base/media/java/android/media/目录下

主要有如下文件:
AudioManager.java
为上层应用提供了声音设置管理接口.

AudioService.java
音频设置服务, 它在SystemServer中启动,为所有的音频相关的设置提供服务。
在AudioService 中定义了了一个AudioSystemThread 的类,用来监控音频控制
相关的信号,当有请求时,它会通过调用AudioSystem 的接口实现音频的控制,
这里的消息处理是异步的。此外在AudioService还抽象出了一套发送音频控制信
号的接口为AudioManager提供支持。

AudioSystem.java:
提供了音频系统的基本类型定义,以及基本操作的接口。它对应于
frameworks/base/core/jni/android_media_AudioSystem.cpp

Ringtone.java
RingtoneManager.java
为铃声、闹钟等提醒提供了快速的播放以及管理接口。
AudioTrack.java
直接为PCM数据提供支持,对应于frameworks/base/core/jni/android_media_AudioTrack.cpp

SoundPool.java
提供了为引用播放声音的接口,在加载文件等方面做了优化。

ToneGenerator.java
提供了播放DTMF tones 的支持,
如电话的拨号音,对应于直接为PCM数据提供支持,对应于frameworks/base/core/jni/android_media_ToneGenerator.cpp

AudioRecord.java
这个是音频系统对外的录制接口,对应于:frameworks/base/core/jni/android_media_AudioRecord.cpp
分享到:
评论

相关推荐

    Android的音频系统

    音频系统的 JNI 部分和 Java 部分分别提供了音频系统的 JNI 代码和 Java 代码,供上层调用。音频系统的硬件抽象层提供了到硬件的接口,供 AudioFlinger 调用。Android 音频系统是 Android 操作系统中负责音频方面的...

    android音频解码的源代码(适用于音乐播放器)

    文件名中的"jni"暗示了源代码可能包含JNI技术,这是Java平台允许Java代码和其他语言交互的一种方式。在音频解码场景中,JNI常用于调用C/C++编写的高性能音频库,如FFmpeg,因为它能提供比Java更高效的解码能力。 3...

    Android 音频降噪源码

    这部分代码可能包括C++的音频处理模块以及与Java层交互的JNI代码。分析这些源码有助于理解降噪的具体实现,如信号处理流程、参数调整等。 5. **SO库的使用** 在Android中,C++代码编译成.so动态链接库,用于运行时...

    Android音频剪辑裁剪自定义view

    本文将深入探讨如何创建一个Android音频剪辑裁剪的自定义View,以便用户可以通过拖动来调整音频的剪切时长,并通过滑块实时显示对应的时间点。 首先,我们需要理解Android的音频处理基础。Android提供了`...

    修改和定制Android音频策略

    Android音频系统主要由以下几个关键组件组成: 1. **Audio HAL (Hardware Abstraction Layer)**:负责处理硬件相关的音频操作。 2. **Audio Policy Manager**:管理音频路由和策略,决定音频流如何被重定向或混合。...

    一款android安卓系统中的视频播放器Java代码.rar

    这款"Android视频播放器Java代码"提供了一个基础的实现框架,可以帮助开发者理解如何在Android环境中构建这样的应用。 首先,Android的多媒体处理主要依赖于`MediaPlayer`类,这是Android SDK提供的一个核心组件,...

    基于android模拟考试系统源代码

    本文将深入探讨一款由Java编写的Android模拟考试系统的源代码,主要关注其核心功能,如单选题、多选题和判断题的处理,以及题库的选择和管理。我们将分析如何利用Android的基本控件、事件处理机制以及读取文本文件的...

    黄金矿工 - 源代码Android编写的Java

    【黄金矿工 - 源代码Android编写的Java】是一个基于Android平台的Java游戏项目,展示了如何使用Java语言和Android SDK来开发一款简单的移动游戏。这个项目的核心是利用Java的面向对象特性,以及Android框架提供的...

    Android操作系统的飞机游戏,java源代码

    开发者会使用XML来定义布局,并可能结合Java代码进行动态调整。 10. **发布和调试**:最后,开发者需要了解如何打包应用、签名和发布到Google Play或其他应用市场,以及如何使用Android Studio的调试工具来查找和...

    Android Audio 音频开发

    音频系统的代码分布情况如下所示:Audio 的 Java 部分代码路径:frameworks/base /media/java/android/media 与 Audio 相关的 Java 包是 android.media,主要包含 AudioManager 和音频系统的几个类。Audio 的 JNI ...

    Android录音,PCM音频编码AAC格式

    在Android平台上,录音功能是通过`AudioRecord`类来实现的,它...在压缩包中的`MyAudioRecord`可能包含了实现这个功能的示例代码,你可以通过查看和学习这些代码,更深入地理解如何将Android录音与AAC编码结合应用。

    java Android俄罗斯方块游戏源代码

    开发者可能使用XML布局文件来设计界面,并在Java代码中进行实例化和控制。 7. **资源管理**:包括音频文件、图片资源和字符串资源。Android提供了资源管理系统,允许开发者方便地管理和加载这些资源。 8. **状态...

    android系统原理及开发要点详解

     12.2.3 传感器系统的Java代码 290  12.3 传感器系统的硬件抽象层 291  12.3.1 传感器系统硬件抽象层的接口定义 291  12.3.2 传感器系统硬件抽象层的示例实现 293  12.3.3 传感器系统硬件抽象层的实现要点 296 ...

    android音频编解码事例Demo

    本示例“android音频编解码事例Demo”着重于使用LAME库在Android上实现音频编解码,特别是MP3格式。LAME是一个非常知名的开源MP3编码库,广泛应用于各种音频处理软件和系统。 1. **LAME库介绍** LAME(Low-Average...

    基于android的音频信号分析并显示波形图对比结果

    在Android平台上进行音频信号分析和波形图的显示是一项涉及多个技术领域的任务,其中包括音频处理、数据可视化以及用户界面设计。下面将详细讲解这个项目所涵盖的知识点。 1. **Android开发基础**: - Android SDK...

    android 获取音频的频谱

    总的来说,获取音频频谱是Android音频处理的一个重要环节,涉及到音频数据的读取、FFT计算以及结果的可视化。通过熟练掌握这些技术,开发者可以创建出各种创新的音频应用,如音乐识别、噪声检测或者自定义均衡器。

    android 绘制音频频率图

    在Android中,我们可以使用Java或Kotlin语言,配合Android SDK提供的音频处理库来完成这个过程。 1. **获取音频数据**: - Android提供了`MediaExtractor`类来读取音频文件的原始数据。 - 对于实时音频,可以使用...

    Android+Java斗地主

    4. **用户界面(UI)**:Android提供了丰富的UI组件,如Button、TextView、ImageView等,开发者需结合XML和Java代码创建直观、友好的用户界面,同时处理用户交互事件。 5. **网络编程**:如果游戏支持多人在线对战,...

    android开发ExoPlayer播放视频和wav音频

    ExoPlayer是Android平台上一个强大的开源媒体播放器,由Google开发并维护,旨在提供更灵活、可定制的媒体播放体验,对比系统默认的MediaPlayer组件,它具有更好的性能和更多的功能。在Android应用开发中,使用...

    Android G711音频编解码

    在Android平台上,音频处理是应用程序开发中的一个重要环节,特别是在...在开发过程中,我们不仅需要理解G.711的编码原理,还需要熟练掌握JNI的使用,以及Android音频系统的操作,这样才能确保音频处理的稳定性和质量。

Global site tag (gtag.js) - Google Analytics