AudioManager简述

2024-02-01 03:38
文章标签 简述 audiomanager

本文主要是介绍AudioManager简述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文地址:http://developer.android.com/reference/android/media/AudioManager.html

翻译如下:

        AudioManager提供了控制音量和铃声模式的功能。我们可以使用Context.getSystemService(Context.AUDIO_SERVICE)来获取这个类的一个实例

        可以实现的接口是OnAudioFocusChangeListener。

 

        这段时间上课在做个MediaPlayer播放MP3音乐,用到了这个AudioManager控制音量,在使用过程中主要用到的方法是getStreamMaxVolume、getStreamVolume和setStreamVolume

        public int getStreamMaxVolume(int streamType):返回一个特定数据流的最大音量值,参数是数据流类型

        public int getStreamVolume(int streamType):返回一个特定数据流的当前音量值,参数是数据流类型

        public void setStreamVolume(int streamType,int index,int flags):无返回值,用来设置一个特定数据流的音量大小。参数1——数据流类型;参数2——音量;数据三——标志

        以上三种方法中的参数int streamType都使用了AudioManager的常量STREAM_MUSIC,经查询,该常量表示如下:

        public static final int STREAM_MUSIC:回放音乐的音频数据流,常量值为3(0x00000003)

        另外还使用到一个常量FLAG_PLAY_SOUND,作为参数flags的值,该常量表示如下:

        pubulic static final int FLAG_PLAY_SOUND:表示在改变音量的时候是否继续播放声音【该常量有时会被忽略,但因为没有涉及到该状况,这里就不介绍了】,常量值为4。(这里有个疑问,既然该常量表示是否继续播放,那么“是”是那种值,“否”又是那种值???猜测:可能是将该标志位置为0就是了,有待实验验证)

这篇关于AudioManager简述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/665973

相关文章

1、简述linux操作系统启动流程

1、简述linux操作系统启动流程 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。开机时将ROM中的指令映射到RAM的低地址空间,CPU读取到这些指令,硬件的健康状况进行检查,按照BIOS中设置的启

Android AudioManager 音频管理

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.

【Java String】简述String类比较和常量池内存分析

一、引出正题 String 类型对象进行比较时,我们一般使用 equals() 的方式进行值比较,但是有时候可能会出现 == 对象比较的方式。 在使用 == 比较的时候,往往是和String在JVM内存存储结构有关,这也引起了部分同学使用时的错误,那么接下来我们来详细分析一下此问题。 二、举例说明 1、new String("xx")都是在堆上创建字符串对象。当调用 intern() 方

手动依赖注入;AutowireCapableBeanFactory简述

概述 spring boot虽然帮我们把bean的依赖注入基本都默认配置好了;但有些时候,业务场景中一些对象实例不在spring生命周期中,但是对象中的属性又需要被spring依赖注入(属性在spring容器管理中); 比如一些servle的filter类,其中的一些属性又需要依赖一些spring的bean 我遇到的情况是这样的,实现FactoryBean接口获取到的自定义bean因为没有参

MQTT.js 简述

MQTT.js 简述 简介 MQTT 是一种轻量级的消息传输协议,常用于物联网(IoT)设备间的通信。mqtt.js 是一个 JavaScript 库,支持在 Node.js 和浏览器中使用,用于通过 MQTT 协议与 MQTT Broker 进行通信。 安装 在 Node.js 中,可以通过以下命令安装: npm install mqtt --save 在浏览器中使用: <s

简述Struts2中Redirect和Dispatcher的区别

Redirect 把一个 HTTP 返回码(譬如 SUCCESS)以及返回的页面位置一起重新发给 Web  服务器,然后由 Web 服务器产生一个新的 HTTP 请求,就会产生一个新的线程, 保存在原来 Action 执行的线程中的数据,就无法访问,所以无法显示出“hello  world!” ; 而 Dispatcher 则不同,它只是发出内部的资源请求,只需要一个 HTTP 请求, 就

简述CCS平面线性光源

光源在机器视觉系统中起着重要作用,不同环境、场景及应用合适光源都不一样,今天我们来看看LFX3-PT系列平面线性光源。它是最适合检测镜面物体的凹凸,外壳小巧的光源。备有根据检测条件可选的2种线间距。1mm型(型号末尾:A)、2mm型(型号末尾:B)。 特点: 1、将导光板表面的印刷图案从点状更改为线状,可对同轴光源难以检测出的镜面物体上,“不明显的凹凸”进行提取并实现成像。

AudioManager使用方法

下面的例子获取手机当前的响铃方式:静音、振动、正常模式。 private void audioManagerExample() {AudioManager audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);int mode = audioManager.getRingerMode();sw

解释 JVM 的内存模型(堆、栈、方法区等),并简述如何通过调整 JVM 参数来优化应用程序的性能?

JVM(Java Virtual Machine)的内存模型是 Java 程序运行的基础,理解它的各个组成部分对于优化应用程序的性能至关重要。 JVM 的内存模型主要包括以下几个部分: 堆(Heap)栈(Stack)方法区(Method Area)程序计数器(Program Counter Register)本地方法栈(Native Method Stack) 1. 堆(Heap) 堆是

【5G PHY】5G循环前缀(CP)设计思路简述

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G技术研究。 博客内容主要围绕:        5G/6G协议讲解        高级C语言讲解        Rust语言讲解 文章目录 5G循环前缀设计一、CP的作用二、如何确