Hey, Sophie
The Show/Hide triggers use CSS to hide elements until they need to be shown, but those elements are still written to the page so that they CAN be shown when triggered. Since your player is embedded even when it is hidden, there isn't any built-in way to tell it to play only once it has been changed to visible through the CSS.
You CAN write your own Javascript that does this but this would be very customized and advanced.
I know you mentioned you didn't want to do this, but I think your ebst options would be to make a clickable “Play” button, or to split each question+audio file combination onto separate pages.