我使用 OpenSL ES 编写了一个音乐播放器。libOpenSLES
除了从库中发出一条警告消息外,它工作正常。这是消息。
03-05 00:10:15.367: W/libOpenSLES(12055): Missed SL_PLAYEVENT_HEADATNEWPOS for position 7000; current position 724009
...
03-05 00:10:27.226: W/libOpenSLES(12055): Missed SL_PLAYEVENT_HEADATNEWPOS for position 329015; current position 816013
当我寻找媒体轨道时,它就出现了。有时我可以在没有警告的情况下进行搜索,有时该消息会出现在日志中。
实现非常简单。在初始化时,我选择了寻找控制。
SLObjectItf decoder;
SLSeekItf seek;
...
SLresult result = (*decoder)->GetInterface(decoder, SL_IID_SEEK, &seek);
然后,当用户更改轨道位置时,我调用SetPosition
如下方法。
SLresult result = (*seek)->SetPosition(seek, position, SL_SEEKMODE_ACCURATE);
两个调用都返回成功结果,并且位置更改也一直有效。唯一的问题是上面提到的警告消息。
任何想法为什么会出现此消息以及如何避免它?
更新:
虽然一半的赏金是自动分配的,但问题还没有回答。我们不知道是什么导致了这个问题以及如何避免它。