查看: 2103|回复: 3

[其他] 每天解决一个问题35天2问 :定义结构体存储wav信息

[复制链接]
  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16702
    最后登录
    1970-1-1
    发表于 2015-9-28 13:05:32 | 显示全部楼层 |阅读模式
    本帖最后由 lkl0305 于 2015-9-28 13:11 编辑

    之前给大家分享了wav的声音格式,今天接着给大家来说说下一个问题。
    可参见:

      wav音频格式描述

      wav音频文件分析  

    ==========================================================

    一、问题描述:
    假设声音文件得信息已经读到了内存中,那如何将这些信息识别出来并存储呢,如何定义一些变量来存储?

    二、解决办法:
    1、由于声音文件包含的信息比较多,单独定义若干个变量肯定不合适,那定义数组也不行,最好的方法定义结构体变量,用于存储声音信息。
    2、按照之前的分析,wav文件划分WAVE文件是由若干个(块)Chunk组成的。按照在文件中的出现位置包括:RIFF WAVE Chunk, Format Chunk, Fact Chunk(可选), Data Chunk。
    3、那就按照相应的块来定义结构体吧。
    4、首先定义如下结构体存储开始的RIFF WAVE Chunk:
    4006.jpg
    5、定义如下结构体存储Format Chunk信息:
    4008.jpg
    其中wav_format_t的定义如下:
    4007.jpg
    6、定义如下结构体存储Fact Chunk信息
    4009.jpg
    7、定义如下结构体存储Data Chunk信息,当然少了数据区的指针。
    4010.jpg
    8、最后定义wav_file_informaion用于将上面的结构体合在一起用,用于存储整个wav文件的信息。
    4011.jpg
    9、在使用时,只需要定义wav_file_informaion类型的结构体变量,然后再写相应的程序将内存中的wav文件数据写到相应的结构体成员中就可以了。

    三、感想与收获:
    1、实现了存储wav信息的结构体变量的声明,但是,还缺少相应程序。
    2、要抓紧时间把这个播放器自己完成一下。





    我知道答案 目前已有3人回答
    回复

    使用道具 举报

    该用户从未签到

    20

    主题

    174

    帖子

    0

    高级会员

    Rank: 4

    积分
    770
    最后登录
    1970-1-1
    发表于 2015-9-28 15:02:02 | 显示全部楼层
    感谢楼主分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    61

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    261
    最后登录
    2015-10-26
    发表于 2015-9-28 15:21:11 | 显示全部楼层
    wav格式还是有点复杂啊,  前几天刚搞定了BMP,,  有空我也研究研究这个
    freescale.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-5-7 09:07
  • 签到天数: 353 天

    连续签到: 1 天

    [LV.8]以坛为家I

    141

    主题

    8056

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5785
    最后登录
    2025-5-7
    发表于 2015-9-28 16:52:39 | 显示全部楼层
    学习了
              154120hhw0q0e0hpw374yw.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 05:34 , Processed in 0.094974 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表