Skip to content
Back to Blog
platform-pain-points

Audio File Plays But No Sound? Diagnostic Steps

2026-05-17 9 min read

Why This Happens More Often Than You'd Think

You double-click an audio file. The progress bar moves, the timer ticks forward, but your speakers are silent. It's an especially frustrating problem because everything looks like it's working. The file isn't obviously corrupted, no error message pops up, and yet—nothing. The causes for this silent playback are varied. Some are simple operating system issues. Others are codec problems buried deep inside the file's container format. Sometimes, a file conversion that was technically successful produces an audio stream with no actual data. And in other cases, the file is just broken and needs to be re-encoded before it will ever make a sound. Your first job is to determine whether the file has a valid audio stream at all, or if your playback environment just can't decode it. A 48-minute MP4 that's silent in VLC but works in QuickTime is a different beast from one that's silent everywhere. The first points to a decoder or routing issue on your machine. The second almost guarantees the audio stream itself is empty, misaligned, or in a format your system can't touch. This guide will walk you through diagnosing both scenarios. We'll start with the simple checks that solve the problem more than half the time, then move toward the more technical fixes. We’ll cover when re-encoding with a tool like CocoConvert is the right move, and when it's a dead end.

Start With the Obvious: System Volume, Output Device, and Player Settings

Before you diagnose the file, you have to eliminate the environment. I know, this sounds basic, but anyone who has wrestled with audio routing knows that a simple misconfiguration can catch even experienced users off guard. On Windows 11, right-click the speaker icon in the system tray and select 'Open Volume Mixer.' You'll see sliders for each application. Is your media player muted there, even if your main system volume is at 100%? It happens. Set it to 80% or higher. While you're there, check 'Sound Settings > Output' to confirm your default device isn't a disconnected Bluetooth headset that's currently routing your audio into the void. On macOS, open System Settings > Sound > Output. Make sure the correct device is selected and the volume slider isn't all the way down. Also, macOS has a powerful per-app audio routing layer. If you use audio production tools like Loopback or BlackHole, it's shockingly easy to accidentally send a player's output to a virtual device with no physical speaker attached. Inside your media player, look for a muted audio track. VLC, for instance, has its own volume control in the lower-right corner, completely separate from the system mixer. You should also navigate to Audio > Audio Track in VLC to confirm a track is actively selected, not 'Disabled.' For web-based playback, glance at the browser tab itself. Chrome and Firefox both let you mute individual tabs, and the tiny speaker icon is easy to miss. Right-click the tab and look for an 'Unmute tab' option. If you've checked all of this and still get silence, the problem is almost certainly inside the file.

Inspect the File's Audio Stream Directly

Stop trying to play the file. It's time to inspect it. The most reliable way to know if an audio stream truly exists is to use a tool that reads its metadata directly, not one that tries to play it. MediaInfo is your best friend here. It's free, cross-platform, and acts like an x-ray for media files, giving you a detailed breakdown of every stream. Open your file in MediaInfo and find the Audio section. You need to see entries for Format (like AAC, MP3, PCM), Channels (1 for mono, 2 for stereo), Bit rate, and Duration. If there's no Audio section, the file contains no audio stream. If the section exists but Duration is 0ms or Bit rate is 0 kb/s, the stream is an empty shell. FFprobe, part of the FFmpeg toolkit, provides the same data from the command line. Run `ffprobe -v error -show_streams -select_streams a yourfile.mp4`. If you get no output, there's no audio stream. If it shows stream data but the codec is 'none' or the bit rate is zero, you've found a ghost stream. Another great test is Audacity. Use File > Import > Audio to open the file. If Audacity imports it and shows a perfectly flat line—zero amplitude from start to finish—the audio track contains literal silence. This can happen if you converted a muted source. If Audacity won't import the file at all, the codec is likely unsupported or the stream is truly empty. Once you know exactly what you're up against, the path to a fix becomes much clearer.

Codec and Container Mismatches: The Silent Killer

A container format like MP4, MKV, or AVI is just a box. It holds video, audio, and subtitles, but the actual data is encoded with a specific codec—AAC, AC-3, DTS, Opus, and so on. The problem arises when your player can open the box but has no idea what to do with the audio codec inside. It just plays the video (if there is one) and ignores the audio. No error, just silence. Here are the usual suspects: **DTS audio in MKV files**: Decoding DTS requires a license that many free players don't have. VLC handles it, but many others, including the default Windows Media Player, often won't without a special codec pack. **AC-3 (Dolby Digital) in AVI containers**: This is a strange one. Some players will decode AC-3 perfectly inside an MP4 but fail silently when the exact same audio codec is wrapped in an older AVI container. **Opus in MP4**: While a fantastic codec, Opus isn't officially supported in the MP4 specification. Some encoders create these files anyway, leading to wildly inconsistent playback. Some players work, others play silent. **TrueHD and DTS-HD MA**: These lossless formats from Blu-ray rips are notorious. Software players need special libraries to decode them. Most consumer hardware simply passes the signal to an A/V receiver. If you're playing the file on a laptop, you'll probably hear nothing. The only reliable fix for these issues is to re-encode the audio to a universally compatible codec. AAC at 192 kb/s is the gold standard for compatibility and solves these problems instantly.

When Re-Encoding Is the Right Fix (And How to Do It)

If you've confirmed your file has a real audio stream but it's in a format your player can't handle, re-encoding is the definitive solution. This is where a tool like CocoConvert comes in. It's built for these exact scenarios: converting tricky DTS or AC-3 audio to universal AAC, taking an MKV with Opus audio and putting it in a proper MP4 container, or just pulling the audio track out of a video and saving it as a standalone MP3. You just upload the file, pick your output format, and the conversion pipeline handles the complex codec translation. For audio-only files, these are your safest bets for output formats: - **MP3 (192–320 kb/s)**: Plays on literally every device made in the last 25 years. You can't go wrong. - **AAC in M4A container (128–256 kb/s)**: The modern standard. It offers better quality per bit than MP3 and is native to Apple/Android devices and all web browsers. - **FLAC**: A lossless format. The files are large, but it's perfectly supported on all modern platforms. When fixing a video file's audio, converting to an MP4 with AAC audio is the most robust choice. CocoConvert's MP4 output defaults to AAC audio for this reason—it prioritizes maximum compatibility. Let's be clear, though: a conversion tool can't create audio from nothing. If MediaInfo shows a 0ms audio track, there is nothing to re-encode. The source file is empty. No tool can invent audio data that isn't there, so you'll have to go back to the original source. If you have a 5.1 or 7.1 surround sound file and hear nothing on stereo speakers, the problem might be channel mapping. FFmpeg's `-ac 2` flag can downmix to stereo during a manual conversion; CocoConvert handles this automatically when you choose a stereo output format.

Sample Rate and Bit Depth Mismatches

A less frequent but tricky cause of silent audio is a sample rate or bit depth your hardware doesn't support. Most consumer audio gear runs at 44.1 kHz or 48 kHz. Files from professional audio workflows might use 88.2 kHz, 96 kHz, or even 192 kHz. Some audio drivers, especially older ones on Windows, don't know how to handle this; they just fail silently instead of resampling the audio to a rate they understand. On Windows, check this by going to Control Panel > Sound > Playback Devices. Right-click your output device, choose Properties, and go to the Advanced tab. The 'Default Format' dropdown shows the active sample rate and bit depth, like '24 bit, 48000 Hz (Studio Quality).' If your file is 96 kHz and your driver is locked to 48 kHz, some players give up and produce silence. While you can try changing the driver's default format, the more permanent and reliable fix is to convert the file to a standard 44.1 kHz or 48 kHz. For listening on consumer hardware, 44.1 kHz at 16-bit is completely transparent and guarantees playback everywhere. Bit depth issues are rarer but work the same way. A 32-bit float PCM file, common from digital audio workstations, might play silently on hardware that only expects 16-bit or 24-bit integer PCM. Converting to 24-bit PCM or a compressed format like FLAC solves this. MediaInfo shows both sample rate and bit depth in its report. If you see 96000 Hz or 32-bit float and you're getting silence, this mismatch is your prime suspect.

When Nothing Works: Recovering Audio From a Broken File

If you've tried everything else and the file is still silent, it's possible the file is just broken. Truncated downloads, interrupted file transfers, or data corruption from a failing drive can all be culprits. These files might appear to play because the header is intact, but the actual audio data is garbled or missing. FFmpeg has a recovery mode that can sometimes salvage these files. Running `ffmpeg -i broken.mp4 -c copy output.mp4` with the `-err_detect ignore_err` flag tells it to copy all readable data into a new, clean container. This doesn't magically fix missing data, but it can repair container-level errors that were preventing playback. For MP3s specifically, small utilities like MP3val and mp3check can scan for and repair broken frame headers. An MP3 with a corrupted frame structure will often play silently or skip around; these tools can rebuild it. If the file came from a screen recorder, check if the software has a 'repair' or 'finalize' feature. Many recorders write to a temp file and only finalize it when you stop. If the app crashed, you're left with a file that lacks a proper index. Tools like Handbrake, VLC's Convert/Save function, or FFmpeg can sometimes rebuild this index. CocoConvert will try to process a damaged file, but if its underlying tools can't find a valid audio stream, the output will also be silent. It's important to set expectations: no tool can recover data that simply isn't there. When a file is truly this damaged, your only option is to go back to the original source and get a fresh copy.