当我从openSL ES的官方文档中读到时,可以从Audio Player设置音量级别。但是怎么样?我试图从音频播放器获得VolumeItf,但得到了:
SL_RESULT_FEATURE_UNSUPPORTED
我是否理解,此消息表示Android中的配置文件不存在。但是如何获得音量控制?
提前致谢
答案 0 :(得分:9)
使用IID_VOLUME请求创建AudioPlayer对象。如果不这样做,API将返回SL_RESULT_FEATURE_UNSUPPORTED。
const SLInterfaceID ids[2] = {SL_IID_SEEK, SL_IID_VOLUME};
const SLboolean req[2] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE};
(*engine)->CreateAudioPlayer(engine, &playerObject, &src, &sink, 2, ids, req);
这种解决方法并不简单,但在ndk r6上适用于我。