How to get post ID in a Page?

You should not use globals directly. There are some nice wrapper functions in the WordPress API. If you want to retrieve the ID of the current post or page just use get_the_ID().

Without any test … you could write the functionality in this way:

$file_id  = get_post_meta( get_the_ID(), 'sound_s', true );
$file_url = wp_get_attachment_url( $file_id );

echo wp_audio_shortcode( [ 'src' => $file_url ] );

I don’t know much about the plugin that you use but why don’t you loop just over the list of posts:

$posts = get_posts();
foreach ( $posts as $item ) {
    $file_id  = get_post_meta( $item->ID, 'sound_s', true );
    $file_url = wp_get_attachment_url( $file_id );

    echo wp_audio_shortcode( [ 'src' => $file_url ] );
}