请问关于c的具体应用场景有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2315个文字,预计阅读时间需要10分钟。
在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分钟。
在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过小丢数据的情况。

