获取AMR格式音频的播放总时间
来源:互联网 发布:php授权系统如何实现 编辑:程序博客网 时间:2024/05/07 14:01
原理:
amr 一帧对应20ms,那么一秒有50帧的音频数据。由于比特率不同,每帧的数据大小也不同。
如果比特率是12.2kbs,那么每秒采样的音频数据位数为:
12200 / 50 = 244bit = 30.5byte,取整为31字节。
取整要四舍五入。
再加上一个字节的帧头,这样数据帧的大小为32字节。
获取总时间函数:
int gst_rec_get_play_duration()
{
GstQuery *query;
gint64 duration;
gint64 ret_value, fram;
GstFormat format;
if((APP_STATE_PLAY != app.state) || (NULL == app.play_pipeline))
{
return -1;
}
format = GST_FORMAT_BYTES;
query = gst_query_new_duration (format);
if (gst_element_query(app.play_pipeline, query))
{
gst_query_parse_duration (query, NULL, &duration);
printf("duration = %ld/n", duration);
}
else
{
printf("duration query fail=====/n");
duration = 0;
}
gst_query_unref (query);
fram = ((duration - 6) / 32) * 0.02;
return fram;
}
- 获取AMR格式音频的播放总时间
- 播放amr格式的音频
- 获取AMR格式音频的当前播放位置
- 关于web项目播放AMR格式音频的问题
- android应用开发中获取amr文件的播放时间
- ios 使用音频队列播放amr格式转换成wav的格式,只有嘈杂声
- mediaPlayer播放总时间的获取
- 安卓AudioRecord实现录音和播放,可以暂停和获取声音的大小,格式为amr和wav,可以对音频进行加密
- android播放amr格式音频文件的问题
- android播放amr格式音频文件的问题
- VB实现远程读取音频(Wave格式)的播放时间
- html页面播放amr音频
- java利用ffmpeg将amr格式转化成mp3后无法播放音频
- 页面里嵌入播放器,并获取当前视频的播放总时间
- 使用servlet过滤器播放amr音频
- 播放amr音频,后台进行mp3转码
- 使用servlet过滤器播放amr音频
- 将amr音频转为flac格式
- C++学习笔记(Thinking in C++)四
- 基于MVC设计模式的WEB应用框架研究
- IsKindOf的用法简介
- snort 笔记1 ----- 3种模式简介
- Ext 4 概述(五)之布局Layout、组件Component、Form
- 获取AMR格式音频的播放总时间
- 跑在main之前
- 通过UIPanGestureRecognizer 获得velocity & direction
- 千百度
- {由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值}
- Ext 4 概述(六)之Grid
- EJB3与EJB2架构对比
- JDK 和 JRE
- Fedora14 开发环境安装