请问关于c的具体应用场景有哪些?

2026-05-17 14:443阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2315个文字,预计阅读时间需要10分钟。

请问关于c的具体应用场景有哪些?

在Windows平台上,播放PCM声音常用的API主要有以下两种:

1. waveOut 和 waveIn:这是传统的MME API,也是使用最广泛的。

2.xAudio2:基于C++/COM API,主要针对游戏开发,是DirectSound的升级版,自Windows Vista起使用。

在Windows平台上,播放PCM声音使用的API通常有如下两种。

  • waveOut and waveIn:传统的音频MMEAPI,也是使用的最多的
  • xAudio2:C++/COM API,主要针对游戏开发,是DirectSound的基础

在Windows Vista以后,推出了更加强大的WASAPI,并用WASAPI封装了MME以及DirectSound API。

对于前面的两个API,在.net平台下有如下封装:

  • NAudio
  • Sharpdx

WSAPI可能由于更加复杂,没有什么比较完善的封装,codeproject上有篇文章介绍了如何简单的封装WSAPI: Recording and playing PCM audio on Windows 8 (VB)

最近一个项目中使用到了PCM文件的播放,本来想用NAudio实现的,但使用过程中发现它自己提供的BlockAlignReductionStream播放实时数据是效果不是蛮好(方法可以参考这篇文章),总是有一些卡顿的现象。

究其原因是其Buffer的机制,要求每次都填充满buffer,对于文件播放这个不是问题,但对于实时pcm数据,buffer过大播放的时候得不到足够的数据,buffer过小丢数据的情况。

阅读全文

本文共计2315个文字,预计阅读时间需要10分钟。

请问关于c的具体应用场景有哪些?

在Windows平台上,播放PCM声音常用的API主要有以下两种:

1. waveOut 和 waveIn:这是传统的MME API,也是使用最广泛的。

2.xAudio2:基于C++/COM API,主要针对游戏开发,是DirectSound的升级版,自Windows Vista起使用。

在Windows平台上,播放PCM声音使用的API通常有如下两种。

  • waveOut and waveIn:传统的音频MMEAPI,也是使用的最多的
  • xAudio2:C++/COM API,主要针对游戏开发,是DirectSound的基础

在Windows Vista以后,推出了更加强大的WASAPI,并用WASAPI封装了MME以及DirectSound API。

对于前面的两个API,在.net平台下有如下封装:

  • NAudio
  • Sharpdx

WSAPI可能由于更加复杂,没有什么比较完善的封装,codeproject上有篇文章介绍了如何简单的封装WSAPI: Recording and playing PCM audio on Windows 8 (VB)

最近一个项目中使用到了PCM文件的播放,本来想用NAudio实现的,但使用过程中发现它自己提供的BlockAlignReductionStream播放实时数据是效果不是蛮好(方法可以参考这篇文章),总是有一些卡顿的现象。

究其原因是其Buffer的机制,要求每次都填充满buffer,对于文件播放这个不是问题,但对于实时pcm数据,buffer过大播放的时候得不到足够的数据,buffer过小丢数据的情况。

阅读全文