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

     2023-02-25     268

关键词:

【中文标题】VLC如何在普通PC上播放24位PCM音频?【英文标题】:How can VLC play 24-bit PCM audio on general PC? 【发布时间】:2020-07-06 04:31:52 【问题描述】:

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

我通过调用libvlc_audio_set_callbacks()设置音频播放回调,首先获取原始样本数据。

接下来,我尝试了两个示例视频。一个有 24 位 PCM 音频,另一个有 16 位音频(使用 ffmpeg CLI 从 24 位转换),除此之外,一切都相同。 玩的不错,但是我用调试器看数据的时候,vlc's audio play callback得到的样例数据是一样的。

经过一番研究,我发现如果没有合适的声卡,一般 PC 无法播放 24 位 PCM 音频。

如果正确,是否有一些位深度转换(24->16)的过程可以播放?那么,回调得到的样本数据是一样的吗?

【问题讨论】:

我可能已经有十年没有见过不支持 24 位的基本 PC 声卡了。但是,它并不总是启用。我不熟悉您使用的 API,但听起来它也将依赖于 VLC 输出插件和操作系统。 这适用于 VLC 吗?这听起来更像是 NAudio 的问题,而不是 VLC。 【参考方案1】:

如果你想强制 vlc 转换格式,你可以在这里设置格式参数: https://code.videolan.org/mfkl/libvlcsharp-samples/-/blob/master/AudioCallbacks/Program.cs#L59

int AudioSetup(ref IntPtr opaque, ref IntPtr format, ref uint rate, ref uint channels)

参见文档here 格式应该是 4 个 ascii 字符的字符串,但我不知道您可以在此处传递的可用格式。

【讨论】:

在 LInux 上播放 PCM 音频(wav)[关闭]

】在LInux上播放PCM音频(wav)[关闭]【英文标题】:PlayingPCMaudio(wav)onLInux[closed]【发布时间】:2021-09-2513:38:54【问题描述】:我正在尝试编写一个可以直接通过linux声音缓冲区播放PCMwav文件的C程序。这样做的用途是将此音频与视频... 查看详情

手机上的vlc怎么使用

...频格式。ios版本的VLC播放器视频来源:网络流媒体:对于普通用户来说,不适用且相当繁琐,必须输入视频详细网络ip地址才可以被识别出来。拓展资料VLC多媒体播放器(最初命名为VideoLAN客户端)是VideoLAN计划的多媒体播放器。... 查看详情

使用 gstreamer 将 PCM 数据发送到 VLC 播放器

】使用gstreamer将PCM数据发送到VLC播放器【英文标题】:SendPCMdatatoVLCplayerusinggstreamer【发布时间】:2015-12-1005:32:39【问题描述】:我想将原始音频数据(PCM)发送到RTP上的VLC播放器,以便使用gstreamer播放PCM。这是发送PCM的命令gst-launch... 查看详情

如何将 PCM 音频流转换为在线播放

】如何将PCM音频流转换为在线播放【英文标题】:HowtoconvertPCMaudiostreamforonlineplay【发布时间】:2015-11-0617:02:30【问题描述】:我可以访问PCM音频缓冲区的音频流。我应该清楚我无权访问音频文件。我只能访问4096字节的音频数据... 查看详情

轻松播放 24 位 .wav 音频文件

】轻松播放24位.wav音频文件【英文标题】:Easilyplay24bits.wavaudiofiles【发布时间】:2014-05-2314:18:54【问题描述】:众所周知,WindowsAPIPlaySound()不允许播放24位.wav文件。在Windows平台上以C/C++播放24位.wav文件的最短方法是什么?(如果... 查看详情

如何使用 jPlayer 在所有页面上连续播放音频?

】如何使用jPlayer在所有页面上连续播放音频?【英文标题】:HowtoplayaudiocontinuouslyonallpagesusingjPlayer?【发布时间】:2015-07-0417:19:24【问题描述】:我发现了一个相关问题here但我的问题是如何使用jPlayer做到这一点?不使用ajax是否... 查看详情

每 10 毫秒记录 pc 音频数据而不播放

...,而不需要快速播放。我已经尝试过此代码,但我找不到如何在录制时停止播放。RecordAudioGithubRepo第二个问题:如何从循环缓冲区中获取PCM数据以进行正确的编码-解码过程。当我 查看详情

youtube 如何在 Safari 上自动播放带音频的视频?

】youtube如何在Safari上自动播放带音频的视频?【英文标题】:HowcanyoutubeautoplayvideowithaudioonSafari?【发布时间】:2018-01-2519:39:24【问题描述】:据我所知,HTML5仅在muted在safari上自动播放。但是,youtube能够自动播放带音频的视频。y... 查看详情

如何在 iOS 上录制 PCM 音频文件?

】如何在iOS上录制PCM音频文件?【英文标题】:HowdoyourecordaPCMaudiofileoniOS?【发布时间】:2014-09-2810:19:34【问题描述】:是否可以通过麦克风录制PCM音频文件?我正在尝试录制一个非常短的PCM音频文件,但到目前为止一直很困难。... 查看详情

FFMPEG-音频文件的持续时间不准确

...存在PC中。使用下面的代码,生成的aac文件现在可以在KM播放器上播放,但不能在VLC播放器上播放。播放器上显示的持续时间信息错误。请帮我解决这个问题。err=avformat_o 查看详情

如何在 sndfile 中写入 24 位 pcm 样本?

】如何在sndfile中写入24位pcm样本?【英文标题】:Howtowrite24bitpcmsamplesinsndfile?【发布时间】:2014-10-3115:53:01【问题描述】:我有用SF_FORMAT_WAV|SF_FORMAT_FLOAT打开的文件,但有24位格式的样本。Sndfile文档说调用程序使用的数据类型和... 查看详情

播放 pcm 音频片段

】播放pcm音频片段【英文标题】:playbackpcmaudiopieces【发布时间】:2013-06-1010:37:20【问题描述】:我正在尝试播放另一个类在事件中返回的PCM音频样本。如果我将它们保存在一个文件中,然后将其作为流播放,一切正常。但在实... 查看详情

使用 snd_pcm_writei() 播放音频时如何正确处理 ALSA 编程中的 xrun?

】使用snd_pcm_writei()播放音频时如何正确处理ALSA编程中的xrun?【英文标题】:HowtoproperlyhandlexruninALSAprogrammingwhenplayingaudiowithsnd_pcm_writei()?【发布时间】:2020-04-1106:48:41【问题描述】:我已经尝试了多个示例程序,这些示例程序似... 查看详情

将音频转换为 8 位签名 PCM

...uinoUno的8-bitunsignedPCM格式。它也可以是一个.wav文件。无论如何,我尝试了很多事情都无济于事。我得到的最接近的是使用NISTSphere编解码器的Audacity。我试图用FFmpeg来做 查看详情

如何在 Python 3.5.3 上播放来自互联网广播的流式音频

】如何在Python3.5.3上播放来自互联网广播的流式音频【英文标题】:HowtoplaystreamingaudiofrominternetradioonPython3.5.3【发布时间】:2018-03-2706:27:24【问题描述】:我在Windows8.1x64上使用Python3.5.3,我需要播放来自here的音频我尝试过pyaudio,... 查看详情

如何在vlc播放器中显示毫秒

转载自HOWTOSHOWMILLISECONDSIN VLCbyHOPHOPhttps://niumenata.wordpress.com/2017/01/24/how-to-show-milliseconds-in-vlc/  1STSTEP isto download VLC-2.0.x (clickingthatlink— 查看详情

使用移动 VLC 在 iOS 上播放 rtsp 流时出现绿屏

】使用移动VLC在iOS上播放rtsp流时出现绿屏【英文标题】:GreenscreenwhenusingmobileVLCtoplayrtspstreamingoniOS【发布时间】:2015-04-2803:24:55【问题描述】:我在iOS上通过mobileVLCKit.framework有一个基于VLC的播放器。在执行和播放h264rtsp流时,iPh... 查看详情

如何在python中播放音频文件?

】如何在python中播放音频文件?【英文标题】:howtoplayaudiofileinpython?【发布时间】:2013-05-1617:24:54【问题描述】:我刚开始使用带有GUI界面的python。我一直在一个简单的计时器程序上试验TKinter。我被卡住了,因为我想用警报播... 查看详情