Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Audio VLC如何在普通PC上播放24位PCM音频?_Audio_Vlc_Naudio_Libvlc_Libvlcsharp - Fatal编程技术网

Audio VLC如何在普通PC上播放24位PCM音频?

Audio VLC如何在普通PC上播放24位PCM音频?,audio,vlc,naudio,libvlc,libvlcsharp,Audio,Vlc,Naudio,Libvlc,Libvlcsharp,我尝试使用和播放24位PCM音频(s24le) 我首先通过调用获取原始样本数据来设置音频播放回调 接下来,我尝试了两个示例视频。一个有24位PCM音频,另一个有16位音频(使用ffmpeg CLI从24位转换而来),除此之外,一切都是一样的。 它们表现得很好,但当我通过调试器看到数据时,得到的示例数据是相同的 经过一些研究,我发现普通PC如果没有合适的声卡就不能播放24位PCM音频 如果它是正确的,是否有一些位深度转换(24->16)过程来播放?因此,通过回调获得的样本数据是相同的?如果要强制v

我尝试使用和播放24位PCM音频(s24le)

我首先通过调用获取原始样本数据来设置音频播放回调

接下来,我尝试了两个示例视频。一个有24位PCM音频,另一个有16位音频(使用ffmpeg CLI从24位转换而来),除此之外,一切都是一样的。 它们表现得很好,但当我通过调试器看到数据时,得到的示例数据是相同的

经过一些研究,我发现普通PC如果没有合适的声卡就不能播放24位PCM音频


如果它是正确的,是否有一些位深度转换(24->16)过程来播放?因此,通过回调获得的样本数据是相同的?

如果要强制vlc转换格式,可以在此处设置format参数:

见医生
格式应该是4个ascii字符的字符串,但我不知道您可以在这里传递的可用格式。

我可能已经十年没有见过不支持24位的基本PC声卡了。但是,它并不总是启用的。我不熟悉您使用的API,但听起来它也将依赖于VLC输出插件和操作系统。这对VLC有效吗?这听起来更像是NAudio的问题,而不是VLC的问题。
int AudioSetup(ref IntPtr opaque, ref IntPtr format, ref uint rate, ref uint channels)