You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET播放MP3报“The wave header is corrupt” 是否仅支持WAV格式

关于VB.NET播放音频报错及.NET音频格式支持的说明

报错原因

你遇到的The wave header is corrupt报错,根本原因是你调用的My.Computer.Audio.Play是VB.NET提供的轻量音频播放API,仅支持WAV格式的PCM音频。你传入MP3格式资源时,API会默认按照WAV格式解析文件头,匹配不到合法的WAV头标识就会抛出该错误,你转换为WAV格式后符合API的解析要求,因此可以正常播放。

.NET框架音频格式支持说明

.NET本身并没有限制仅支持WAV格式音频,不同的API支持的格式范围不同:

  • My.Computer.Audio.Play:仅支持WAV格式,属于简化封装的轻量API,适合快速实现简单WAV播放需求
  • Windows Media Player COM控件:系统自带的COM组件,引入后可支持MP3、WMA等多种主流音频格式播放,适配范围更广
  • NAudio等第三方音频库:.NET生态中常用的音频处理类库,支持MP3、AAC、FLAC等几乎所有常见音频格式的播放、编辑操作,功能灵活性更高
  • .NET Core 3.0+ / .NET 5+ 提供的AudioGraph API:原生支持多格式音频播放,可用于桌面端、UWP端的音频开发,无需依赖第三方组件

现有实现代码说明

你当前使用的实现代码:
My.Computer.Audio.Play(My.Resources.Car_Background_Muisc, AudioPlayMode.WaitToComplete)
属于My.Computer.Audio系列的专属调用语法,该语法设计时就仅针对WAV格式做了适配,不支持其他音频格式。

内容的提问来源于stack exchange,提问作者Gabriel Gunio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:27:01