Unfortunately, CSS from your domain cannot affect a page from another domain loaded in an iframe due to security measures.
While there are some methods to inject CSS into an iframe using JS, the domain of the iframe must have the necessary CORS rule set, which appears to not be the case in this situation.
If it is crucial for you, one workaround could be to take a screenshot of the player and overlay it on top of the actual player only for printing purposes...
Edit based on comments
There is no built-in attribute to achieve your request, but with a little bit of JS + CSS, you can do it yourself:
document.querySelectorAll('.soundcloud').forEach((iframe) => {
var img_cover = iframe.getAttribute('cover');
if (img_cover) {
var org_html = iframe.outerHTML;
var new_html = "<div class='soundcloud-iframe'>" +
org_html +
"<img src=" + img_cover + " width='500' height='300'>" +
"</div>";
iframe.outerHTML = new_html;
}
});
.soundcloud-iframe img {
display: none;
}
@media print {
.soundcloud-iframe iframe {
display: none;
}
.soundcloud-iframe img {
display: block;
}
}
<iframe cover="https://i1.sndcdn.com/artworks-000169258529-6odvu9-t500x500.jpg" class="soundcloud" width="500" height="300" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/271188615&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=false&visual=true">
</iframe>