在windows 下简单播放G711 a law的wav文件

需要在windwos下程序中加入播放保存的a law的wav文件的功能,需求很简单,能播放和停止就行,暂停都不需要。本以为很简单,结果对小折腾一下。

本身保存的wav文件用windows系统自带的录音机播放正常,但是mediaplayer播不出来。

试过如下几种方法:

1. mciSendCommand* ,不行

2. PlaySound,不行

3. SDL_Audio,不行

4. directsound,应该是可以的,但是光看资料,编译相关东西就花了不少的时间,而且还加上了direct SDK,增加了程序复杂度,基本成功时发现后面一种方法,更简单选了下一种,不过看的东西以后应该是用的上的。

5. waveoutwrite,推荐直接在www.codeproject.com上查: Playing _WAV files using the Windows Multi-Media Library,使用作者给的两个文件,调用三个函数:播放,暂停,停止,半小时不到完成功能,非常顺利。而且作者对waveout也做了比较好的介绍。不过它播放wav文件是会循环播放的,想播放一次就停需要把他的audiothread中的控制部分改一下,根据前面打开时得到的时间长度控制到时间后停止。

6. 看网上还有种办法是将a law格式转化为PCM后再用前几种接口播放,本来就是将PCM转成a law后发给我的, 再把它转回来不符合我懒人的习惯。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值