Pick a preferred audio output device for HTML5 audio and video elements

Latest Version

Version
0.3.10
Update
January 26, 2024
Size
36.38KiB
Developer
rain-fighters.net
Category
Users
80,000+
Rating
3.85686 ★
Manifest Version
3
Web Store Status
Languages Support
English
See more
Permissions
ContentSettings
Storage
Scripting
ActiveTab
Favicon
See more

AudioPick Extension

AudioPick allows to pick a preferred audio output device that is used when a chrome tab is playing HTML5 audio or video over HTTPS.

The extension finds HTML5 audio and video elements within the document tree and manipulates the \"sinkId\"` in order to switch to the preferred audio output device. Since version 0.3.8 it also finds Audio, Video and AudioContext objects that have not been inserted into the document tree, e. g. Spotify and SoundCloud should now work with the extension, too.

Since it's now possible to store/remember a preferred audio output device per domain, the extension's option panel and hence the option to set a global preferred device (for the browser) has been removed.

Note that the \"Media Capture and Streams API\" requires media (microphone) permissions to be granted to every site with audio sinks that need to be manipulated, which - as a result - allows those sites to access your microphone. Hence AudioPick only acquires permission when the user actually picks a non-default device for a site and restores permissions when the user reverts back to using the default. Since version 0.3.10 a \"smartMicAccess\" mode can be activated in the UI which further reduces the number of microphone permissions granted by the extension.
Read more

Source Manifest.json

{"update_url": "https://clients2.google.com/service/update2/crx",\t"manifest_version": 3,\t"name": "AudioPick",\t"short_name": "AudioPick",\t"description": "Pick a preferred audio output device for HTML5 audio and video elements",\t"author": "[email protected]",\t"homepage_url": "https://rain-fighters.github.io/AudioPick/",\t"version": "0.3.10",\t"version_name": "0.3.10",\t"action": {\t\t"default_icon": {\t\t\t"16": "APV3_Icon_2d_2c_16.png",\t\t\t"32": "APV3_Icon_2d_2c_32.png",\t\t\t"48": "APV3_Icon_2d_2c_48.png",\t\t\t"128": "APV3_Icon_2d_2c_128.png"\t\t},\t\t"default_title": "AudioPick",\t\t"default_popup": "popup.html"\t},\t"icons": {\t\t"16": "APV3_Icon_2d_2c_16.png",\t\t"32": "APV3_Icon_2d_2c_32.png",\t\t"48": "APV3_Icon_2d_2c_48.png",\t\t"128": "APV3_Icon_2d_2c_128.png"\t},\t"host_permissions": ["https://*/*"],\t"background": {\t\t"service_worker": "worker.js"\t},\t"content_scripts": [\t\t{\t\t\t"matches": ["https://*/*"],\t\t\t"js": ["main.js"],\t\t\t"world": "MAIN",\t\t\t"all_frames" : false\t\t},\t\t{\t\t\t"matches": ["https://*/*"],\t\t\t"js": ["content.js"],\t\t\t"world": "ISOLATED",\t\t\t"all_frames" : false\t\t}\t],\t"permissions": [\t\t"contentSettings",\t\t"storage",\t\t"scripting",\t\t"activeTab",\t\t"favicon"\t]}
Read more