rain-fighters / AudioPick

A Chrome Extension to pick a preferred audio output device for HTML5 audio and video elements
https://rain-fighters.github.io/AudioPick/
GNU General Public License v3.0
102 stars 22 forks source link

Crunchyroll #54

Open Kdenight opened 7 months ago

Kdenight commented 7 months ago

enabled mic tried refreshing many times tried default to device output i wanted still nothing tried this other extension out called AuRo did not work too works on other sites like youtube and hidive just will not work on crunchyroll. not sure what else to say

necropola commented 7 months ago

This site uses (for whatever reason) an iframe to display the videos:

<iframe class="video-player" allow="autoplay; fullscreen; encrypted-media *" allowfullscreen="" src="https://static.crunchyroll.com/vilos-v2/web/vilos/player.html" title="Video Player">
    <p>Your browser does not support iframes.</p>
</iframe>

The issue is that unless this iframe explicitely allows microphone access, we will not be able to switch audio devices within. This is a restriction that has been added to chrome (and firefox, and ...) a while ago. and is the reason why AudioPick-0.3.10 does not inject itself into sub-frames anymore.

If the iframe looked like (spot the difference`?)

<iframe class="video-player" allow="autoplay; fullscreen; encrypted-media *; microphone" allowfullscreen="" src="https://static.crunchyroll.com/vilos-v2/web/vilos/player.html" title="Video Player">
    <p>Your browser does not support iframes.</p>
</iframe>

and we would add "all_frames" : true to manifest.json it would probably work. So unless you control the site's source code you are currently out of luck. See #52.

BTW, this site (https://www.crunchyroll.com/) is an interesting test case. should we ever decide to try manipulating the main site's iframe attributes, too. Thanks!