MediaElement audio tag not visible

The audio shortcode does a lot more than just create an tag in the page.

The WordPress audio and video shortcodes are powered by the MediaElementJS library, which is a combination of Javascript and CSS code that loads into the footer of the page whenever you have a post with one of those in it. The JS code processes those elements and turns them into proper players on all browsers, even ones that don’t natively support the element or which don’t support that specific filetype.

Your audio code alone, along with your JS, isn’t a complete implementation. It lacks all the MEJS code, the player CSS skin, and the player itself if needed for your browser.

Stick to the shortcode. It’s simpler all around.