Delphi 的 Android 音量控制  
官方Delphi 学习QQ群: 682628230(三千人)
频道

Delphi 的 Android 音量控制


Delphi 的 Android 音量控制

任何在 Android 上处理过某些事情的人都知道,管理音量非常容易,甚至几乎 100% 的设备都有物理按钮。


但是在我的上一个项目中,我很惊讶如果用户的多媒体音量低,我应该向用户发出警报,因为有问题的应用程序使用了 Text ToSpeech 系统。


做了一些研究,我遇到了 Android AudioManager类,它负责所有的音频处理。它的描述说明了一切:“AudioManager 提供对音量和铃声模式控制的访问。”


在该类中,有一些变量对于 Delphi 的 Android 卷管理非常有用:


int STREAM_ALARM

//Se utiliza para identificar el volumen de audio de las alarmas.

 

int STREAM_DTMF

//Se utiliza para identificar el volumen de audio para tonos DTMF

 

int STREAM_MUSIC

//Se utiliza para identificar el volumen de audio para la reproducción de música.

 

int STREAM_NOTIFICATION

//Se usa para identificar el volumen de audio para notificaciones.

 

int STREAM_RING

//Se usa para identificar el volumen de audio para el timbre del teléfono

 

int STREAM_SYSTEM

//Se utiliza para identificar el volumen de audio de los sonidos del sistema.

 

int STREAM_VOICE_CALL

//Se utiliza para identificar el volumen de audio de las llamadas telefónicas.

如果我们继续浏览类,我们会发现一些方法,我们可以从中获取不同卷的值并设置它们。


{Devuelve el valor de volumen máximo de una secuencia en particular}

int    getStreamMaxVolume(int streamType)

{Devuelve el valor de volumen actual de una secuencia en particular}

int    getStreamVolume(int streamType)

{Establece el valor de volumen para una secuencia en particular}

public void setStreamVolume (int streamType, int index, int flags)

刚刚看到上述内容,我们知道我们可以在任何 Android 设备上处理音量问题。但所见的都是 Java,Android 中的原生类,


我们如何处理来自 Delphi 的 Android 卷?

在 Delphi 中,我们可以通过“桥文件”访问 java 类。它们是一系列用 Delphi 编写的文件,它们在 Android 的 java 类和我们在 Delphi 中的应用程序之间架起了一座桥梁。所有这些 Bridge 文件都位于我们安装的 Path source \ rtl \ android中。


在这个文件夹中,为了管理 Android 中的卷,我们找到了Androidapi.JNI.Media.pas单元,我们只在我们的项目中使用该单元,我们已经拥有上述功能。


从这里开始,用法在您的想象中运行。



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.087589025497437 seconds