野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13613|回复: 5

基于MP3软解码的例程上如何实现加速播放,求指点

[复制链接]
发表于 2015-8-27 14:04:42 | 显示全部楼层 |阅读模式
基于之前的MP3播放例程,(软解码).能不能实现使音乐加速播放,需要进行怎么样的设计。
或者是在使用音频软解码模块基础上 ,用别的什么API去实现
回复

使用道具 举报

发表于 2015-8-27 14:15:59 | 显示全部楼层
没有试过这个功能哦,加速播放可能是在传输解码数据给pcm的时候,把码率提高
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-29 11:42:14 | 显示全部楼层
没找到控制码率的api,只看到采样率的,可不可以指一下是在哪里程序对码率进行了设置
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-29 12:03:55 | 显示全部楼层
flyleaf 发表于 2015-8-27 14:15
没有试过这个功能哦,加速播放可能是在传输解码数据给pcm的时候,把码率提高

捕获2.PNG 这里的20ms是怎么设置的?能不能调节?是不是可以达到控制播放速度的目的
回复 支持 反对

使用道具 举报

发表于 2015-8-29 14:21:33 | 显示全部楼层
在你截那段代码的下面,这里修改一下采样率看看,IIS的采样率。你试试在解码得到的mp3采样率的基础上增大或减少之

else                //解码无错误,准备把数据输出到PCM
                        {
                                MP3GetLastFrameInfo(Mp3Decoder, &Mp3FrameInfo);                //获取解码信息                                

                    /* 根据解码信息设置采样率 */
                                if (Mp3FrameInfo.samprate != current_sample_rate)        //采样率
                                {
                                        current_sample_rate = Mp3FrameInfo.samprate;

                                        printf(" \r\n Bitrate       %dKbps", Mp3FrameInfo.bitrate/1000);
                                  printf(" \r\n Samprate      %dHz", current_sample_rate);
                                        printf(" \r\n BitsPerSample %db", Mp3FrameInfo.bitsPerSample);
                                        printf(" \r\n nChans        %d", Mp3FrameInfo.nChans);
                                        printf(" \r\n Layer         %d", Mp3FrameInfo.layer);
                                        printf(" \r\n Version       %d", Mp3FrameInfo.version);
                                        printf(" \r\n OutputSamps   %d", Mp3FrameInfo.outputSamps);

                                        if(current_sample_rate >= I2S_AudioFreq_Default)        //I2S_AudioFreq_Default = 2,正常的帧,每次都要改速率
                                        {
                                             I2S_Freq_Config(current_sample_rate);                                                //根据采样率修改iis速率
                                        }
                                }
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-30 16:57:12 | 显示全部楼层
current_sample_rate   没有找到关于这个变量的具体值  的 代码
                 可能是我没有找到
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 15:40 , Processed in 0.064442 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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