OpenSL ES 查询设备支持的SL Profiles
opensl es 提供了三种类型:分别是 SL_PROFILES_PHONE(手机);SL_PROFILES_MUSIC(音乐); SL_PROFILES_GAME (游戏)。
如果你使用的手机的开发商使用了OpenSL ES 的话,会有一个类似于上面的sl配置。如果是手机的话,一般会是SL_PROFILES_PHONE 在android较低的版本下也就意味着某些Opensl es 的功能不可用。
下面是查询代码:
SLObjectItf _engineObject;
SLresult result;
result = slCreateEngine(&_engineObject, , NULL, , NULL, NULL);
assert(SL_RESULT_SUCCESS == result); result = (*_engineObject)->Realize(_engineObject, SL_BOOLEAN_FALSE);
assert(SL_RESULT_SUCCESS == result); SLEngineCapabilitiesItf capabilities;
SLuint16 profilesSupported;
result = (*_engineObject)->GetInterface(_engineObject, SL_IID_ENGINECAPABILITIES, &capabilities);
assert(SL_RESULT_SUCCESS == result);
result = (*capabilities)->QuerySupportedProfiles (capabilities, &profilesSupported);
assert(SL_RESULT_SUCCESS == result); if (profilesSupported & SL_PROFILES_PHONE)
{
//手机
LOGI("SL_PROFILES_PHONE");
}
if (profilesSupported & SL_PROFILES_MUSIC)
{
//音乐
LOGI("SL_PROFILES_MUSIC");
}
if (profilesSupported & SL_PROFILES_GAME)
{
//游戏
LOGI("SL_PROFILES_GAME");
}
备注:可能有些设备获取不了引擎功能接口 SLEngineCapabilitiesItf;
OpenSL ES 查询设备支持的SL Profiles的更多相关文章
- OpenSL ES: OpenSL ES 简介
1. OpenSL ES 是什么 OpenSL ES (Open Sound Library for Embedded Systems)是无授权费.跨平台.针对嵌入式系统精心优化的硬件音频加速API. ...
- Android - 支持不同的设备 - 支持不同的语言
把app的字符串放到另外一个文件中是一个好习惯.Android用android工程中的资源文件夹让这件事变的很简单. 如果使用Android SDK Tools创建工程,这个工具会在工程的根目录下创建 ...
- Android OpenSL ES 开发:Android OpenSL 录制 PCM 音频数据
一.实现说明 OpenSL ES的录音要比播放简单一些,在创建好引擎后,再创建好录音接口基本就可以录音了.在这里我们做的是流式录音,所以需要用至少2个buffer来缓存录制好的PCM数据,这里我们可以 ...
- 国际化之Android设备支持的语种
昨天发了关于iOS支持的语种,文章最后也补了安卓支持语种列表.但最后发现安卓设备支持跟它列的有出入,我重新完全手工整理了一遍. 我将对应的语种在安卓的语言列表里的显示,也全部逐一列出来了,方便大家到时 ...
- .NetCore下ES查询驱动 PlainElastic .Net 升级官方驱动 Elasticsearch .Net
1.背景 由于历史原因,笔者所在的公司原有的ES查询驱动采用的是 PlainElastic.Net, 经过询问原来是之前PlainElastic.Net在园子里文档较多,上手比较容易,所以最初作者选用 ...
- (原)关于OpenSL ES播放音频数据的一个奇怪的问题
关于OpenSL ES播放音频数据的一个奇怪的问题 Author:lihaiping1603@aliyun.com 最近用业余时间做了一个android平台的播放器sdk,其中视频用的opengl e ...
- OpenSL ES: 利用OpenSL ES播放一个存在于SDcard上的PCM文件
native-lib.cpp #include <jni.h> #include <string> #include <SLES/OpenSLES.h> #incl ...
- ubuntu14.04上Virtualbox安装win7(使用Ghost镜像安装,启用USB设备支持,设置共享目录)
由于某些软件只有windows版本,于是只好安装个虚拟机win7 /**************************安装*************************************/ ...
- [工作记录] Android OpenSL ES: references & AAC related
AAC V.S. MP3 http://en.wikipedia.org/wiki/Advanced_Audio_Coding#AAC.27s_improvements_over_MP3 AAC pa ...
随机推荐
- js模板引擎之artTemplate
http://www.cnblogs.com/52fhy/p/5393673.html artTemplate 不支持requre.js,悲剧啊,只能用juicer啊 这个还是比较有名的. 简介: a ...
- RAC 修改 spfile 参数
我们知道数据库的参数文件有spfile 和pfile. RAC 的参数文件比较特殊. 因为默认情况下,RAC的spfile 是放在共享设备上(RAW设备或者ASM磁盘组).而在各节点的pfile文件里 ...
- Mac 下安装python3.7 + pip 利用 chrome + chromedriver + selenium 自动打开网页并自动点击访问指定页面
1.安装python3.7https://www.python.org/downloads/release/python-370/选择了这个版本,直接默认下一步 2.安装pipcurl https:/ ...
- 远程连接linux服务器mysql
今天遇到一个问题 无法远程链接mysql Host 'XXX' is not allowed to connect to this MySQL server 解决方案/如何开启MySQ先解决第一个提 ...
- 阿里云服务器挖矿wipefs处理
查看指定日志修改过的文件: [root@iZbp12v0moqn078lm0t0l5Z 2018-04-26]# find /data/www/manage -ctime 0 -exec ls -l ...
- bzoj4928: 第二题
Description 对于一棵有根树,定义一个点u的k-子树为u的子树中距离u不超过k的部分. 注意,假如u的子树中不存在距离u为k的点,则u的k-子树是不存在的. 定义两棵子树是相同的,当且仅当不 ...
- Mybatis学习(1)
一.原生态jdbc程序存在的问题: mybatis框架原理.执行过程: 二.入门程序 完成入门程序的以下需求: 1.根据用户id(主键)查询用户信息: 2.根据用户名称模糊查询用户信息: 3.添加用户 ...
- 6.后台验证码-session作用域
首先要有生成验证码图片和验证码文字的逻辑 package cn.bingou.util; import java.awt.Color; import java.awt.Font; import jav ...
- 阿里云启用IPV6
ping过别人的IPv6网址之后,可以确定,局域网是不支持IPv6的.所以要使用隧道技术建立两台机器之间的IPv6连接 1.发现测试用服务器上没有IPv6地址.所以测试服务器的内核应该是没有IPv6模 ...
- Oracle 某字段值相同的取前几条数据
rank() over(partition)的使用(转载) 有的时候会遇到这样的问题,我们需要查询一张表,而且要按照业务排序,比如我需要如下的结果: 地区 日期 费用 产品编号 用 ...