大家好: 我正在用这个44b做个语音电子日历。根据rtc提供的日期时间后程序判断输出多段声音,比如“2007年”+“1月”+“9日”,这三个wave素材是分开录制下到flash中的。 我知道的达到这个目有三种方式: 1.程序中把相应的三个文件合并成一个。此方法要么把flash中的文件改变,要么要新建文件。我不想采用! 2.完全分开播放,即第一段结束后再把第二段读入缓冲区播放。此方法使声音不连贯,我也没采用。 3。我采用把这三个文件的波形数据按顺序放到同一个缓冲区中(都除去44字节的头文件信息,第二段数据从缓冲区开始地址加第一段数据的字节数开始存放,第三段加上前两段依次类推),然后将缓冲区首地址作为dma的源地址进行播放,这样做没有前面方法的缺点,但是结果只播放了第一段,我一直没找出是什么原因!我试着把DMA的源地址设为第二段的开始地址,结果可以播放第二段,第三段有没播放!我知道可能是缓冲区连接的问题?我怎么也搞不定它! 解决不了! 恳请各位DX给我点意见! 谢谢啦! |