在linux下怎样用c语言获取mp3时长?最好有个例子!

author author     2023-04-22     463

关键词:

1、主要是要解析MP3格式,计算MP3文件长度,然后根据播放每帧需 26ms,计算出播放时间。文件IO读写,就用fopen\fread系列酒可以。

2、#include <mmsystem.h>//包括多媒体API,标准c语言没有相关接口函数
unsigned char str[256];
sprintf(timebuffer,"status %s position",MusicName);//timebuffer输出缓存区,格式字符串到timebuffer,MusicName为播放歌曲的完整路径
mciSendString(Music,str,256,NULL);//获取时间,单位为毫秒
curtime=atoi(str)/1000;//单位化为秒,后面可以根据需要处理时间
参考技术A 主要是要解析MP3格式,计算MP3文件长度,然后根据播放每帧需 26ms,计算出播放时间。
文件IO读写,就用fopen\fread系列酒可以。
代码请看参考资料:
(如果时间充裕,可以看看mplayer源码,免费的)

参考资料:http://blog.csdn.net/hongjiujing/article/details/2148370

参考技术B 百度id3v2, 我就说这么多了, 剩下靠自己吧

如何获取音频文件的准确时长,比如mp3

...,MCI_STATUS,MCI_STATUS_ITEM,(DWORD)(LPMCI_STATUS_PARMS)&StatusParms);可是获取的时长有时不准确,我一个MP3文件明明是1分钟,可是用这个方法得到的是4分钟,请问还有其他方法能够得到准确的时长信息吗?我用同样的代码,在另外一台电脑上... 查看详情

mp3标签设置哪种最好

...年月、注释等等一些信息,下面说下怎么下载安装并更改语言界面:  先说下更新中文名称的方法:  装好之后打开选择Tools——Options——Language——简体中文——点击OK。  下面为大家介绍下去除tag的方法Mp3tag(mp3标签修... 查看详情

用c语言在linux怎样调用reboot函数重启系统

参考技术A可以直接调用reboot函数如reboot(0);也可以通过system接口调用system("reboot"); 查看详情

c语言在linux下发送http请求

我想问一下,如何在Linux下使用C语言发送HTTP请求,诸如GETPOSTPUTDELETE这样子。最好有能用的代码,谢谢。您好您直接建立一个socket,把http协议的内容放在buffer中,发送到服务器就可以,在c语言中,尽量比较底层的操作,这样您... 查看详情

请教java如何实现获取一段mp3的总时长

在导入一个java-1.0.2包 就可以了 如果是获取网络文件,那就需要先把文件下载到本地,然后再去获取音频时长参考技术A1.采样率。2.压缩格式。基本上就跟这俩东西有关了。有了这个以后,可以根据文件的大小来计算播放... 查看详情

easyclick获取mp3文件时长(代码片段)

EasyClick获取MP3文件时长/***获取MP3时长*作者:老鬼、QQ:1156346325*@paramfilePath文件路径*@returnnumber返回毫秒数*/functiongetAudioFileVoiceTime(filePath)importPackage(android.media)letmediaPlayerDuration=0;if(filePath 查看详情

怎么获取一段mp3格式的音频的播放时长

参考技术A1、添加MP3格式文件。打开软件后,点击初始界面左上方的“添加视频”按键,打开文件夹找到需要的mp3音乐并导入到软件上。有时浏览文件夹时没看到音乐文件,这时注意一下“打开”对话框下面的“文件类型”,可... 查看详情

怎样学习在linux操作系统下用c语言编程

刚学LINUX操作系统,但还不知道在它下编程,学过C语言了这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将会学到以下内容:源程序编译Makefile的编写程序库的链接程序的调试头文件和系统求助--------------... 查看详情

用c语言编写的程序,能不能直接在linux下运行?

...可以直接拿到linux下执行。3.在linux系统下可不可以执行C语言写的程序。当然应该不可能是地三个意思了。如果是第二个意思,那么答案是:肯定不能执行。因为C语言是于系统有关的。所以在window下编译的可执行文件,和在linux... 查看详情

linux下怎么用c语言获取一帧屏幕图像数据,怎么分块

1.利用FrameBuffer设备,用ioctl()函数获取相关屏幕信息,然后用mmap()映射,用两个for循环逐个读取for(y=0;y<scrinfo.yres;y++)for(x=0;x<scrinfo.xres;x++)获取一帧屏幕图像数据有没有更简洁方便的方法?2.把屏幕图像分成4×4或16×16的块。关... 查看详情

在linux下如何利用c语言实现http的get和post方法?

在LINUX下如何利用C语言实现HTTP的get和post方法?我是远程登录的LINUX,在LINUX下用Eclipse开发有关HTTP解析,不会实现HTTP的get和post方法,有没有高手指点一下啊?不要网上拉的网址和内容最好是程序实例!要求只要能给服务器发数... 查看详情

vbscript获取mp3的时长(代码片段)

查看详情

在linux下复制文件夹目标文件夹图标上有个叉

...,那么就重新复制一遍吧。追问已经试过很多次,不知道怎样确定复制的是文件夹还是快捷方式啊,复制到那边也打不开,不知道哪里出问题,追答既然你已经试过很多次,那么你又是怎样复制的,把整个过程讲一下,怎么操作... 查看详情

^0^大家知道怎样用c语言实现单链表吗(代码片段)

    前言:今天我来讲讲C语言如何实现传统的链表,顾名思义,传统的就是过去的,在实际项目中很少用到的,与现在的主流的抽象链表(如,linux内核双向循环链表)相比存在着致命的缺陷࿰... 查看详情

有熟悉用libcurl在linux下获取http请求的大牛么,最好能有示例

一、get请求curl"http://www.baidu.com"如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地curl-i"http://www.baidu.com"显示全部信息curl-l"http://www.baidu.com"只显示头部信息curl-v"http://www.baidu.com"显示get... 查看详情

用java语言怎么修改linux下eth0网卡的ip地址,请高手指点下,最好有例子....

使用java语言写的vi/etc/sysconfig/network-scripts/ifcfg-eth0点击i成插入状态添加IPADDR=ccc.ccc.vvv.bbb按下esc输入:wq回车结束(冒号也是要输入的)需要重启服务才能设置成刚才的ip命令为servicenetworkrestart那个我也是做java的我到现在都没听过... 查看详情

用c语言实现linux下文件模糊查找,比如在home下,找出所有的jpeg文件

参考技术A朋友,我来告诉你答案!sudofind/home-name'.jpeg'home目录需要root权限 查看详情

在linux下:用c语言实现ls命令(代码片段)

这次主要的目的是用C语言实现Linux系统中的ls命令。在编写命令之前,需要介绍一下几个结构体:第一个DIR:struct__dirstreamvoid*__fd;char*__data;int__entry_data;char*__ptr;int__entry_ptr;size_t__allocation;size_t__size;__libc_lock 查看详情