PCM文件播放器
来源:互联网 发布:360产品展示软件 编辑:程序博客网 时间:2024/06/03 05:08
基于webrtc的音频模块写的一个测试demo,然后再把测试demo修改下拿来当做工具使用。在平时开发中总是需要播放各种各样的pcm文件,然后每次都需要修改demo来测试,各种麻烦,于是这个小工具就产生了。
1. 基于OpenSLES实现的
2. 支持单双通道,默认单通道
3. 支持采样率为8k、16k、32k、44k和48k,默认16k
4. 支持循环播放和单曲播放
通过读取ELF文件看出确实使用OpenSLES
0x00000001 (NEEDED) Shared library: [libdl.so]
0x00000001 (NEEDED) Shared library: [liblog.so]
0x00000001 (NEEDED) Shared library: [libOpenSLES.so]
0x00000001 (NEEDED) Shared library: [libm.so]
0x00000001 (NEEDED) Shared library: [libc.so]
后续会添加上时间控制,感觉这个是有必要的。因为我里面使用了环形缓存区,所以会根据采样率和通道的不同有相应的误差,会有40ms ~ 480ms的音频码流存放在缓冲区而没有放出来。
使用方式:
usage: ./audio_pcm_player [-h] [-l] [-s sample_rate] [-c channels] [-b bit_width] pcmFile
-h this help message
-s sample rate (16000)
-c channels (1)
-b bit width (16)
-l looped play (false)
例子:
播放通道为2,采样率为48k的pcm文件
$ ./audio_pcm_player -c 2 -s 48000 48000_16_2.pcm
<filename is: 48000_16_2.pcm
sampleRate is: 48000
channels is: 2
bitwidth is: 16
looper play : false
播放通道为1,采样率为32k的pcm文件
$ ./audio_pcm_player -s 32000 32000_16_1.pcm
filename is: 32000_16_1.pcm
sampleRate is: 32000
channels is: 1
bitwidth is: 16
looper play : false
循环播放通道为2,采样率为16k的pcm文件
$ ./audio_pcm_player -c 2 -l 16000_16_2.pcm
filename is: 16000_16_2.pcm
sampleRate is: 16000
channels is: 2
bitwidth is: 16
looper play : true
附件下载地址
0 0
- PCM文件播放器
- PCM文件播放器
- sdl播放pcm文件
- waveout播放pcm文件总结
- python-pcm音频播放器
- 使用directsound播放pcm流文件.txt
- 音频队列Audioqueue播放pcm文件
- 播放PCM
- 使用AudioTrack和AudioRecord录制和播放PCM wave文件
- 非阻塞式播放pcm和mp3文件类
- 使用AudioTrack和AudioRecord录制和播放PCM wave文件
- 使用AudioTrack和AudioRecord录制和播放PCM wave文件
- WaveOutXX 播放PCM流
- ios播放PCM数据
- ios播放PCM数据
- IOS播放PCM数据
- IOS播放PCM数据
- ios播放PCM数据
- 原型模式-浅克隆和深克隆的自我理解
- Effective.C 读书笔记04
- Linux服务器 scp 不需要密码配置与密钥转换(id_rsa->ppk)
- hdoj 2101 a+b
- Android 系统当中各种尺寸单位的定义及使用
- PCM文件播放器
- AndroidFM模块学习之录音功能
- [点点搬家] 一个注释的小技巧
- 当请求参数与网站编码不一致时乱码解决方法
- 【透析法听力】D4
- 为什么学习Redis作为消息队列服务器
- 简单实现响应式布局
- 在Servlet中使用开源fileupload包实现文件上传功能
- JavaScript变量提升(Hoisting)