我需要有关OpenSL ES的帮助-我想更改mp3歌曲的音高。我在这里使用的代码是:Android : How to change Playback Rate of music using OpenSL ES但在此示例中已对其进行了注释。如果我取消评论-它将无法工作。执行代码后
result = (*uriPlayerObject)->GetInterface(uriPlayerObject, SL_IID_PITCH,
&uriPlaybackPitch);
assert(SL_RESULT_SUCCESS == result);
uriPlaybackPitch == NULL
LogCat是:
OSLESMediaPlayer(7173): create engine
OSLESMediaPlayer(7173): realize the engine
OSLESMediaPlayer(7173): get the engine interface
OSLESMediaPlayer(7173): create output mix
libOpenSLES(7173): class OutputMix interface 0 requested but unavailable MPH=33
OSLESMediaPlayer(7173): realize the output mix
libOpenSLES(7173): Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)
libOpenSLES(7173): Leaving PlaybackRate::SetPropertyConstraints (SL_RESULT_FEATURE_UNSUPPORTED)
/OSLESMediaPlayer(7173): Feature Unsupported
libc(7173): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)
最佳答案
真的很晚了,也许您已经解决了,但是不支持该接口(interface)。 Android的OpenSL ES尚未完全实现。您可以在此处找到受支持的接口(interface):http://mobilepearls.com/labs/native-android-api/ndk/docs/opensles/