当前位置:首页 » 编程软件 » mp4编程

mp4编程

发布时间: 2023-05-22 14:14:37

‘壹’ MP430和89C51的具体不同,MP430是用KEIL来编程的吗

51是8位的,430是16位的,430的功耗低,最大逗败肢的区别就是430管脚的输入输出要进行设置的枯哪,不像51那样直接就可以拉高拉低。430内部有自带AD。 其他的区别不是很大。430一般都是山世用IAR编程的,KEIL不能的

‘贰’ 怎样用c语言编程打开一个文件(比如mp3,mp4)

可以使用PlaySound()函数播放mp3音频,该函数原型位于windows.h。

PlaySound函数的声明为:
BOOL PlaySound(LPCSTR pszSound, HMODULE hwnd,DWORD fdwSound);
参数pszSound是指定了要播放声音的字符串。
参数hwnd是应用程序的实例句柄,除非pszSound的指向一个资源标识符(即fdwSound被定义为SND_RESOURCE),否则必须设置为NULL。
参数fdwSound是标志的组合,如下表所示。若成功则函数返回TRUE,否则返回FALSE。
使用PlaySound函数时需要在#include<windows.h>后面加上(注意:不能加在前面):
例程:

CFileDialog dlg(TRUE, "mp3", "*.mp3", OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT, "mp3文件(*.mp3)|*.mp3|");
/*创建选择对话框,让用户从文件夹中选取一个MP3文件*/
int iRet = dlg.DoModal();//获得对话框返回值
if(IDOK == iRet) //如果返回值成功,表明成功获取一个MP3文件
{
CString pathName= dlg.GetPathName(); //得到文件的路径名称
PlaySound( pathName , NULL, SND_FILENAME | SND_ASYNC);//用playsound函数播放该文件
}

‘叁’ 自己做一个mp4视频播放器需要哪些知识,谁能帮我列出来谢谢。

首先是编程语言,这是必须的。
然后给你说一下播放器的基本工作:
首先打开文件,根据文件头识别文件类型(你要做的只放mp4,不符合的提示格式不支持)
如果是mp4,分流视频与音频
罩态棚判断视频与音频格式,比如视频是h264,音频aac的格式,调用该格式的解码器(解码器不用写,你要知道怎么用官方解码器,自己写解码器就别想了)
最后输出解码后的视频流,音频流到硬件设备。

最后来说一下mp4
可以用mp4封装的视频格式主要有mpeg4,DivX,Xvid,h264这些mpeg4标准的视频;音频格式mp3和aac。

以上就是播放器的基本框架了

最后,看下mpeg4标准也有必要(不用都看,前几个和Part 10比较重要,google一下文件编号,大部分都找得到)
MPEG-4由很多part组成,包括以下的部分:

Part 1(ISO/IEC 14496-1):系统:描述视频和音频数据流的控制、同步以及混合方式(即混流 Multiplexing,简写为MUX)。
Part 2(ISO/IEC 14496-2):视频:定义了一个对各种视觉信息(包括自然视闭隐频、静止纹理、计算机合成图形等等)的编解码器。(例如XviD编码就属于MPEG-4 Part 2)
Part 3(ISO/IEC 14496-3):音频:定义了一个对各种音频信号进行编码的编解码器的集合。包括高级音频编码(Advanced Audio Coding,缩写为AAC)的若干变形和其他一些音频/语音编码工具。
Part 4(ISO/IEC 14496-4):一致性:定义了对本标准其他的部分进行一致性测试的程序。
Part 5(ISO/IEC 14496-5):参考软件:提供了用于演示功能和说明本标准其他部分功能的软件。
Part 6(ISO/IEC 14496-6):多媒体传输集成框架(DMIF for Delivery Multimedia Integration Framework)
Part 7(ISO/IEC 14496-7):优化的参考软件:提供了对实现进行优化的例子(这里的实现指的是第五部分)。
Part 8(ISO/IEC 14496-8):在IP网络上传输:定义了在IP网络上传输MPEG-4内容的方式。
Part 9(ISO/IEC 14496-9):参考硬件物则:提供了用于演示怎样在硬件上实现本标准其他部分功能的硬件设计方案。
Part 10(ISO/IEC 14496-10):高级视频编码或称高级视频编码(Advanced Video Coding,缩写为AVC):定义了一个视频编解码器(codec)。AVC和XviD都属于MPEG-4编码,但由于AVC属于MPEG-4 Part 10,在技术特性上比属于MPEG-4 Part2的XviD要先进。另外,它和ITU-T H.264标准是一致的,故又称为H.264。
Part 12(ISO/IEC 14496-12):基于ISO的媒体文件格式:定义了一个存储媒体内容的文件格式。
Part 13(ISO/IEC 14496-13):知识产权管理和保护(IPMP for Intellectual Property Management and Protection)拓展。
Part 14(ISO/IEC 14496-14):MPEG-4文件格式:定义了基于第十二部分的用于存储MPEG-4
Part 15(ISO/IEC 14496-15):AVC文件格式:定义了基于第十二部分的用于存储第十部分的视频内容的文件格式。
Part 16(ISO/IEC 14496-16):动画框架扩展(AFX : Animation Framework eXtension)。
Part 17(ISO/IEC 14496-17):同步文本字幕格式。
Part 18(ISO/IEC 14496-18):字体压缩和流式传输(针对开放字体格式 Open Font Format)。
Part 19(ISO/IEC 14496-19):合成材质流(Synthesized Texture Stream)。
Part 20(ISO/IEC 14496-20):简单场景表示(LASeR for Lightweight Scene Representation。
Part 21(ISO/IEC 14496-21):用于描绘(Rendering)的MPEG-J拓展。
Part 22(ISO/IEC 14496-22):开放字体格式(Open Font Format)。
Part 23(ISO/IEC 14496-23):符号化音乐表示(Symbolic Music Representation)。
Part 24(ISO/IEC 14496-24):音频与系统交互作用(Audio and systems interaction)。
Part 25(ISO/IEC 14496-25):3D图形压缩模型(3D Graphics Compression Model)。
Part 26(ISO/IEC 14496-26):音频一致性检查:定义了测试音频数据与ISO/IEC 14496-3是否一致的方法(Audio conformance)。
Part 27(ISO/IEC 14496-27):3D图形一致性检查:定义了测试3D图形数据与ISO/IEC 14496-11:2005, ISO/IEC 14496-16:2006, ISO/IEC 14496-21:2006, 和 ISO/IEC 14496-25:2009是否一致的方法(3D Graphics conformance)。

‘肆’ 如何将avi格式转为mp4编程

用“格式工厂”软件可以把AVI格式转换成 MP4格式。
操作为:
1.电脑上网络搜索“格式工厂”下载,安装完毕后打开。
2.

点击“视频”,选择“MP4”。
3.

如果对文件有要求,可以点击“输出配置”进行设置。点击“添加文件”,选择AVI文件后,点击“确定”。
4.

在该界面点击“开始”即可开始转换格式察则码。
输出文件位置在“输出配置”里面可以败哪盯笑设置。

‘伍’ 如何用易语言编程一个MP4播放器

我也正在找呢 找到Q503012188

‘陆’ c语言程序设计MP3或MP4文件基本信息的解析

找了个MP3看了下,comment是29个字节。
可参考 http://www.chineselinuxuniversity.net/articles/27374.shtml

拿VC的C语言写了下:
头文件:
#include <stdio.h>

// TODO: reference additional headers your program requires here

#define MP3_ID3_LENGTH 10
typedef struct tag_ID3_INFO
{

} ID3_INFO;

#define IDENTIFY_LEN 3
#define TITLE_LEN 30
#define ARTIST_LEN 30
#define ALBUM_LEN 30
#define YEAR_LEN 4
#define COMMENT_LEN 30
#define GENRE_LEN 1

// IDENTIFY_LEN + TITLE_LEN +...
#define MP3_INFO_LENGTH 128

typedef struct tag_MP3_INFO
{
char Identify[IDENTIFY_LEN + 1]; //TAG三个字母
//这里可以用来鉴别是不是文件信息内容
char Title[TITLE_LEN + 1]; //歌曲名,30个字节
char Artist[ARTIST_LEN + 1]; //歌手名,30个字节
char Album[ARTIST_LEN + 1]; //所属唱片,30个字节
char Year[YEAR_LEN + 1]; //年,4个字节
char Comment[COMMENT_LEN + 1]; //注释,28个字节
char Genre[GENRE_LEN + 1]; //类型 ,1个字节
} MP3_INFO;

C文件:
#include <string.h>

#define MP3_OK 1
#define MP3_ERROR 1

FILE *OpenMp3File(char *pFileName);
int ReadMP3Info(FILE *pFile, MP3_INFO *pstInfo);
int OutputMP3Info(MP3_INFO *pstMp3Info);

int main(int argc, char* argv[])
{
FILE *pFile = NULL;
MP3_INFO stMp3Info = {0};
char *pfname = "E:\\Project\\MP3\\test.MP3";

pFile = OpenMp3File(pfname);
if (NULL == pFile)
{
return MP3_ERROR;
}

ReadMP3Info(pFile, &stMp3Info);

printf("\r\nMP3 file: %s", pfname);
OutputMP3Info(&stMp3Info);

printf("Hello World!\n");
return MP3_OK;
}

FILE *OpenMp3File(char *pFileName)
{
FILE *pFile = NULL;
pFile = fopen(pFileName,"rb");
if (NULL==pFile)
{
printf("open read file error!!");
return NULL;
}

return pFile;
}

int ReadMP3Info(FILE *pFile, MP3_INFO *pstInfo)
{
int len = 0;
if ((NULL == pFile) || (NULL == pstInfo))
{
return MP3_ERROR;
}

fseek(pFile, 0, SEEK_END);
len = ftell(pFile);
if (len <= (MP3_INFO_LENGTH + MP3_ID3_LENGTH))
{
return MP3_ERROR;
}

memset(pstInfo, 0, sizeof(MP3_INFO));

fseek(pFile, -MP3_INFO_LENGTH, SEEK_END);
len = fread((char *)(pstInfo->Identify), 1, IDENTIFY_LEN, pFile);
len += fread((char *)(pstInfo->Title), 1, TITLE_LEN, pFile);
len += fread((char *)(pstInfo->Artist), 1, ARTIST_LEN, pFile);
len += fread((char *)(pstInfo->Album), 1, ALBUM_LEN, pFile);
len += fread((char *)(pstInfo->Year), 1, YEAR_LEN, pFile);
len += fread((char *)(pstInfo->Comment), 1, COMMENT_LEN, pFile);
len += fread((char *)(pstInfo->Genre), 1, GENRE_LEN, pFile);
if (MP3_INFO_LENGTH != len)
{
return MP3_ERROR;
}

return MP3_OK;
}

int OutputMP3Info(MP3_INFO *pstMp3Info)
{
printf("\r\nTag : %s", pstMp3Info->Identify);
printf("\r\nTitle : %s", pstMp3Info->Title);
printf("\r\nArtist : %s", pstMp3Info->Artist);
printf("\r\nAlbum : %s", pstMp3Info->Album);
printf("\r\nYear : %s", pstMp3Info->Year);
printf("\r\nComment: %s", pstMp3Info->Comment);

return MP3_OK;
}

测试:
MP3 file: E:\Project\MP3\test.MP3
Tag : TAG
Title : TrackTitle
Artist : ArtistName
Album : AlbumTitle
Year : 2012
Comment: This is a comment

热点内容
ftp命令批量下载文件 发布:2025-07-18 11:58:45 浏览:742
nba2k17文件夹 发布:2025-07-18 11:48:53 浏览:869
朔源码是什么 发布:2025-07-18 11:44:33 浏览:773
迷你世界解压剧场 发布:2025-07-18 11:43:48 浏览:153
linux安装opencv 发布:2025-07-18 11:42:10 浏览:445
编程游戏的软件有哪些 发布:2025-07-18 11:41:34 浏览:955
c程序设计语言电子书 发布:2025-07-18 11:35:58 浏览:641
lightning耳机如何在安卓手机上用 发布:2025-07-18 11:21:47 浏览:174
妄想山海新宿怎么配置好 发布:2025-07-18 11:07:43 浏览:615
androidsaxxml解析xml 发布:2025-07-18 10:57:58 浏览:386