【问题标题】:how to adjust volume in openSL ES (Android)?如何在 openSL ES (Android) 中调整音量?
【发布时间】:2011-07-19 16:18:45
【问题描述】:

正如我从 openSL ES 的官方文档中看到的,音频播放器具有设置音量级别的功能。但是怎么做?我试图从音频播放器中获取 VolumeItf,但得到了:

SL_RESULT_FEATURE_UNSUPPORTED

据我了解,此消息表示 Android 不支持配置文件。但是如何获得音量控制呢?

提前致谢

【问题讨论】:

    标签: android audio android-ndk volume


    【解决方案1】:

    使用 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 上对我有用。

    【讨论】:

    • 我不会称之为解决方法。音量接口未在播放器对象的规范中隐含列出,因此必须在对象创建时指定。
    猜你喜欢
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 2012-06-21
    • 2012-07-04
    • 2012-12-23
    • 1970-01-01
    相关资源
    最近更新 更多