当前位置: 技术问答>linux和unix
PXA255平台Linux下音频编程问题。求大虾指点
来源: 互联网 发布时间:2016-03-12
本文导语: 本人现在正要做基于ARM10的语音处理,用的核心板是ARM10 PXA255 处理器核心板,CPU是ntel Xscale PXA255AOC,400MHz主频,带MMU。开发平台的 Linux BSP 采用了嵌入式 Linux 的2.6.8内核。 我根据网上的介绍写了个播放WAV...
本人现在正要做基于ARM10的语音处理,用的核心板是ARM10 PXA255 处理器核心板,CPU是ntel Xscale PXA255AOC,400MHz主频,带MMU。开发平台的 Linux BSP 采用了嵌入式 Linux 的2.6.8内核。
我根据网上的介绍写了个播放WAV音频文件的简单程序,在电脑上(我电脑上安装的是Red hat 9.0)编译通过了,运行能听到音乐。但我用arm-linux-gcc对它进行交叉编译后下载到板子上运行后听到的全是杂音,不知道是什么问题。而且我在板子上用命令cat 1.wav >/dev/dsp播放听到的效果跟程序播放的一样。
恳请各位大虾帮帮小弟,指点一二,感激不尽...
附上代码:
//放音程序
#include
#include
#include
#include
#include
#include
#include
#define LENGTH 3 /* 存储秒数 */
#define RATE 8000 /* 采样频率 */
#define SIZE 8 /* 量化位数 */
#define CHANNELS 1 /* 声道数目 */
/* 用于保存数字音频数据的内存缓冲区 */
unsigned char buf[LENGTH*RATE*SIZE*CHANNELS/8];
int main()
{
int fd;/* 声音设备的文件描述符 */
int id; /*声音输出文件描述符*/
int arg;/* 用于ioctl调用的参数 */
int status; /* 系统调用的返回值 */
int i;
int j;
/* 打开声音设备 */
fd = open("/dev/dsp", O_RDWR);
if (fd
我根据网上的介绍写了个播放WAV音频文件的简单程序,在电脑上(我电脑上安装的是Red hat 9.0)编译通过了,运行能听到音乐。但我用arm-linux-gcc对它进行交叉编译后下载到板子上运行后听到的全是杂音,不知道是什么问题。而且我在板子上用命令cat 1.wav >/dev/dsp播放听到的效果跟程序播放的一样。
恳请各位大虾帮帮小弟,指点一二,感激不尽...
附上代码:
//放音程序
#include
#include
#include
#include
#include
#include
#include
#define LENGTH 3 /* 存储秒数 */
#define RATE 8000 /* 采样频率 */
#define SIZE 8 /* 量化位数 */
#define CHANNELS 1 /* 声道数目 */
/* 用于保存数字音频数据的内存缓冲区 */
unsigned char buf[LENGTH*RATE*SIZE*CHANNELS/8];
int main()
{
int fd;/* 声音设备的文件描述符 */
int id; /*声音输出文件描述符*/
int arg;/* 用于ioctl调用的参数 */
int status; /* 系统调用的返回值 */
int i;
int j;
/* 打开声音设备 */
fd = open("/dev/dsp", O_RDWR);
if (fd
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。