如何在 Superpowered 播放器回调中通知 java 或 'listen' 文件结束事件

How to notify java or 'listen' to End-Of-File event in Superpowered player callbacks

我开始为我的音乐播放器应用程序项目使用 Superpowered 本机 SDK,但我无法通过 SuperpoweredAdvancedAudioPlayer 回调中的文件结束事件向 java 传递一个方法。如果我做错了,请原谅我,因为我是使用 Android 的原生 JNI C 端的新手。非常感谢任何尝试或帮助。提前谢谢你。

    static void playerEventCallbackA(void *clientData, SuperpoweredAdvancedAudioPlayerEvent event, void *value) {

            SuperpoweredAdvancedAudioPlayer *playerA = *((SuperpoweredAdvancedAudioPlayer **)clientData);
        if (event == SuperpoweredAdvancedAudioPlayerEvent_LoadSuccess) {

        }else if (event == SuperpoweredAdvancedAudioPlayerEvent_EOF && !playerA->looping) {


        *The event to notify Java for end of file takes place here. 
Please help to suggest any line of code or method that can notify 
Android when this event kicks in. Personally, I have searched online,
 all I found similar was an "Interface" method on java side which 
I have no idea about. Please help*

    }else if (event == SuperpoweredAdvancedAudioPlayerEvent_LoadError) {

             delete playerA;
        }
    }

从原生层调用Java比从Java调用原生层更复杂。此外,不推荐通过 Java 阻止本机线程处理音频(您会听到音频故障)。因此我建议采取相反的方法。

当你得到 EOF 时设置一些变量,并从 Java 定期(比如每 50 毫秒)轮询该变量,调用本机层。