runOnUiThread should be used to run things on the UI Thread, for updating native views and such.
For just using the main thread you can do something like:
@PluginMethod
public void play(PluginCall call) {
new Handler(Looper.getMainLooper())
.post(
() -> {
audioPlayerService.play(audioId(call));
}
);
call.resolve();
}