2011-07-19 54 views
8

當我從openSL ES的官方文檔中閱讀時,可以從音頻播放器設置音量級別。但是如何?我試圖從音頻播放器獲得VolumeItf但得到:如何在openSL ES(Android)中調整音量?

SL_RESULT_FEATURE_UNSUPPORTED

是我的理解,這個消息意味着配置文件不中的Android suuported。但如何獲得音量控制?

在此先感謝

回答

8

使用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。

+4

我不會說這是一種解決方法。音量界面沒有在播放器對象的規範中隱含列出,因此必須在創建對象時指定。 – IronMensan