## HTML Audio/Video DOM volume Property
The `volume` property sets or returns the current playback volume of an audio or video element.
---
## Definition and Usage
The `volume` property is a standard property of the HTML5 Audio/Video DOM. It allows developers to programmatically control or retrieve the audio level of a media element.
---
## Browser Support
The `volume` property is widely supported across all modern web browsers:
* Google Chrome
* Mozilla Firefox
* Microsoft Edge / Internet Explorer 9+
* Safari
* Opera
*Note: Internet Explorer 8 and earlier versions do not support HTML5 media elements or the `volume` property.*
---
## Syntax
### Get the current volume:
```javascript
let currentVolume = mediaElement.volume;
```
### Set the volume:
```javascript
mediaElement.volume = volumeValue;
```
### Property Values
| Value | Description |
| :--- | :--- |
| `volumeValue` | A `double` value representing the current volume of the audio/video. Must be a number between **0.0** and **1.0** (inclusive).
**Example values:**
β’ `1.0` - Highest volume (Default)
β’ `0.5` - Half volume (50%)
β’ `0.0` - Muted |
### Technical Details
| Feature | Description |
| :--- | :--- |
| **Return Value** | A number representing the current volume level (from `0.0` to `1.0`). |
| **Default Value** | `1.0` |
| **Exceptions** | Throws an `IndexSizeError` DOMException if the assigned value is less than `0.0` or greater than `1.0`. |
---
## Code Examples
### Example 1: Setting Video Volume to 20%
This example demonstrates how to select a video element and set its volume to 20% (0.2).
```javascript
// Get the video element by its ID
const myVid = document.getElementById("video1");
// Set the volume to 20%
myVid.volume = 0.2;
```
### Example 2: Creating a Custom Volume Slider
You can bind the `volume` property to an HTML `` element to create a custom volume control slider.
```html
```
---
## Important Considerations
1. **Range Constraints**: Always ensure that the value assigned to `volume` is strictly between `0.0` and `1.0`. Assigning a value outside this range (e.g., `-0.1` or `1.5`) will throw a JavaScript runtime error:
`Uncaught DOMException: Failed to set the 'volume' property on 'HTMLMediaElement': The volume provided is outside the range [0, 1].`
2. **Muted State vs. Volume**: Setting `volume = 0.0` will make the media silent, but it does not change the boolean state of the `muted` property. For a proper user interface, use the `muted` property to toggle mute/unmute, and use `volume` to control the actual sound level.
3. **Mobile Browser Limitations**: On some mobile operating systems (such as iOS Safari), the `volume` property is read-only because the physical volume buttons on the device are designed to control the audio level directly. Programmatic changes to the `volume` property may be ignored on these platforms.
π Categories
- β‘ JavaScript (1589)
- π PHP (872)
- π Python3 (810)
- π HTML (691)
- βοΈ C# (650)
- π Python (594)
- β Java (552)
- βοΈ PyTorch (534)
- π§ Linux (472)
- βοΈ C (432)
- π¦ jQuery (406)
- π¨ CSS (377)
- π XML (259)
- π¦ jQuery UI (231)
- π― Bootstrap (220)
- βοΈ C++ (215)
- π °οΈ Angular (205)
- π HTML DOM (201)
- π΄ Redis (188)
- π Web Building (142)
- π Vue.js (141)
- π R (131)
- πΌ Pandas (124)
- ποΈ SQL (105)
- βοΈ Docker (86)
- βοΈ TypeScript (73)
- βοΈ Highcharts (70)
- π AI Agent (70)
- βοΈ React (68)
- π Node.js (65)
- βοΈ Machine Learning (60)
- π Git (59)
- π΅ Go (58)
- π Markdown (58)
- π’ NumPy (55)
- π§ͺ Flask (54)
- βοΈ Scala (53)
- ποΈ SQLite (52)
- π JSTL (52)
- βοΈ VS Code (51)
- π MongoDB (49)
- π Perl (48)
- π Ruby (47)
- π Matplotlib (47)
- βοΈ Uncategorized (46)
- π Swift (46)
- ποΈ PostgreSQL (46)
- βοΈ Data Structures (46)
- π Playwright (46)
- π iOS (45)
- ποΈ MySQL (44)
- βοΈ LangChain (43)
- π FastAPI (40)
- βοΈ Ionic (38)
- π Design Patterns (37)
- βοΈ Eclipse (37)
- π¨ CSS3 (34)
- π Lua (34)
- βοΈ Codex (34)
- πΈ Django (32)
- βοΈ OpenCV (32)
- π Rust (31)
- π JSP (31)
- βοΈ Claude Code (31)
- π Pillow (30)
- βοΈ OpenCode (28)
- π AI Skills (27)
- π Flutter (26)
- π Maven (26)
- π¨ Tailwind CSS (25)
- π§ TensorFlow (25)
- π Servlet (24)
- π Dart (23)
- π Assembly (23)
- βοΈ Memcached (22)
- βοΈ SVG (22)
- βοΈ Electron (22)
- π NLP (22)
- π Regex (21)
- π Android (20)
- π£ Kotlin (19)
- π Julia (19)
- π SOAP (17)
- π Selenium (17)
- π PowerShell (17)
- π Sass (16)
- π HTTP (16)
- π Zig (15)
- π AI (15)
- π AJAX (14)
- π Swagger (14)
- βοΈ Scikit-learn (13)
- βοΈ ECharts (13)
- βοΈ Chart.js (13)
- βοΈ Cursor (13)
- βοΈ SciPy (12)
- π RDF (12)
- π Ollama (12)
- π Next.js (12)
- π Plotly Dash (12)
- π JSON (11)
- π RESTful API (11)
- π WSDL (9)
- βοΈ CMake (8)
- π Firebug (7)
- π Nginx (6)
- βΈοΈ Kubernetes (6)
- π Jupyter (6)
- π LaTeX (4)
- π UniApp (4)
- ποΈ SQL Server (1)
YouTip