java:求java打开图片.jpg和声音文件.wav的程序:

java:求java打开图片.jpg和声音文件.wav的程序:,第1张

我就略说些经常遇到的,但并不是人人都认识的扩展名:

〔*.exe‖可执行文件;直接打开〕

〔*.rar‖一种压缩包;用WinRAR打开〕

〔*.zip‖一种压缩包;用WinRAR打开,或者WinXP也可以直接打开〕

〔*.iso‖虚拟光驱;用WinRAR打开,也可用其他虚拟光驱软件〕

〔*.doc‖word文档;用Office Word打开〕

〔*.ppt‖幻灯片; 用Office PowerPiont打开〕

〔*.xls‖电子表格;用Office Excel打开〕

〔*.wps‖WPS文档; 用金山WPS打开〕

〔*.txt‖文本文档;默认用记事本打开〕

〔*.lrc‖动态歌词;可以用记事本打开〕

〔*.rm,*.rmvb‖高清视频;可以用RealOnePlayer打开〕

〔*.mp3,*.wma,*.wav‖一些音乐〕

〔*.jpg,*.bmp,*.gif‖一些图片,其中gif可以是动态的〕

〔*.wfs‖Flash文件;可以用IE打开,也可用FlashPlayer打开〕

〔*.torrent‖BT文件;可以用BitComet打开〕

A

ACE:Ace压缩档案格式

ACT:Microsoft office助手文件

AIF,AIFF:音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式

ANI:Windows系统中的动画光标

ARC:LH ARC的压缩档案文件

ARJ:Robert Jung ARJ压缩包文件

ASD:Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming

format,ASF)的描述文件;可用NSREX打开 Velvet Studio例子文件

ASF:Microsoft高级流媒体格式文件

ASM:汇编语言源文件,Pro/E装配文件

ASP:动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件

AST:Astound多媒体文件;ClarisWorks“助手”文件

Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字)

A3L:Authorware 3.x库文件

A4L:Authorware 4.x库文件

A5L:Authorware 5.x库文件

A3M,A4M:Authorware Macintosh未打包文件

A3W,A4W,A5W:未打包的Authorware Windows文件

B

BAK:备份文件

BAS:BASIC源文件

BAT:批处理文件

BIN:二进制文件

BINHex:苹果的一种编码格式

BMP:Windows或OS/2位图文件

BOOK:Adobe FrameMaker Book文件

BOX:Lotus Notes的邮箱文件

BPL:Borlard Delph 4打包库

BSP:Quake图形文件

BUN:CakeWalk 声音捆绑文件(一种MIDI程序)

C

C0l:台风波形文件

CAB:Microsoft压缩档案文件

CAD:Softdek的Drafix CAD文件

CAM:Casio照相机格式

CAP:压缩音乐文件格式

CAS:逗号分开的ASCⅡ文件

CCB:Visual Basic动态按钮配置文件

CCH:Corel图表文件

CCO:CyberChat数据文件

CCT:Macromedia Director Shockwave投影

CDA:CD音频轨道

CDF:Microsoft频道定义格式文件

CDI:Philip的高密盘交互格式

CDM:Visual dBASE自定义数据模块文件

CDR:CorelDRAW绘图文件;原始音频CD数据文件

CDT:CorelDRAW模板

CDX:CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件

CFG:配置文件

CGI:公共网关接口脚本文件

CGM:计算机图形元文件

CH:OS/2配置文件

CHK:由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片

CHM:编译过的HTML文件

CHP:Ventura Publisher章节文件

CHR:字符集(字体文件)

CHT:ChartViem文件;Harvard Graphics矢量文件

CIF:Adaptec CD 创建器 CD映像文件

CIL:Clip Gallery下载包

CIM:SimCity 2000文件

CIN:OS/2改变控制文件用于跟踪INI文件中的变化

CLASS:Java类文件

CLP:Windows 剪贴板文件

CLL:Crick Software Clicker文件

CLS:Visual Basic类文件

CMD:Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件

CPI:Microsoft MS-DOS代码页信息文件

CPL:控制面板扩展名,Corel颜色板

CPP:C++代码文件

CPR:Corel提供说明书文件

CPT:Corel 照片-绘画图像

CST:Macromedia Director Cast文件

CUR:Windows光标文件

D

DBF:dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel

97打开);Oracle 8.1.x表格空间文件

DBX:DataBearn图像;Microsoft Visual FoxPro表格文件

DCT:Microsoft Visual FoxPro数据库容器

DCU:Delphi编译单元文件

DCX:Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏

DIR:MacromediaDirector文件

DLL:动态链接库

DOC:FrameMaker或FrameBuilder文档;Word Star文档、Word

Perfect文档、Microsoft:Word文档;DisplayWrite文档

DOT:Microsoft Word文档模板

DPL:Borland Delph 3压缩库

DRV:驱动程序

DRW:Micrografx Designer/Draw;Pro/E绘画文件

DSF:Micrografx Designer VFX文件

DSG:DOOM保存的文件

DSM:Dynamic Studio音乐模块(MOD)文件

DSP:Microsoft Developer Studio工程文件

DSQ:Corel QUERY(查询)文件

DST:刺绣机图形文件

DSW:Microsoft Developer Studio工作区文件

DTA:World Bank(世界银行)的STARS数据文件

DTD:SGML文档类型定义(DTD)文件

DTED:地面高度数字数据(图形的数据格式)文件

DTF:Symantec Q&A相关的数据库数据文件

DTM:DigiTrakker模块文件

DUN:Microsoft拔号网络导出文件

DV:数字视频文件(MIME)

DWG:AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式

DXR:Macromedia Director受保护(不可编辑)电影文件

E

EDA:Ensoniq ASR磁盘映像

EDD:元素定义文档(FrameMaker+SGML文档)

EDE:Ensoniq EPS磁盘映像

EDK:Ensoniq KT磁盘映像

EDQ:Ensoniq SQ1/SQ2/Ks32磁盘映像

EDS:Ensoniq SQ80磁盘映像

EDV:Ensoniq VFX-SD磁盘映像

EFA:Ensoniq ASR文件

EFE:Ensoniq EPS文件

EFK:Ensoniq KT文件

EFQ:Ensoniq SQ1/SQ2/Ks32文件

EFS:Ensoniq SQ80文件

EFV:Ensoniq VFX-SD文件

EMD:ABT扩展模块

EMF:Windows增强元文件

EML:Microsoft Outlook Express邮件消息(MIME RTC822)文件

EXE:可执行文件(程序)

F

FAV:Microsoft Outlook导航条

FAX:传真类型图像

FCD:虚拟CD-ROM

FDF:Adobe Acrobat表单文档文件

FLA:Macromedia Flash电影

FND:Microsoft Explorer保存的搜索文件(Find applet)

FON:系统字体

FRT:Microsoft FoxPro报表文件

FRX:Visual Basic表单文本;Microsoft FoxPro报表文件

FXP:经Microsoft FoxPro编译的源文件

G

GDM:铃声、口哨声和声音板模块格式

GetRight:GetRight未完成的下载文件

GHO:Norton 克隆磁盘映像

GID:Windows 95全局索引文件(包括帮助状态)

GIF:CompuServe位图文件

GL:动画格式

GRP:程序管理组

H

HEX:Macintosh BinHex2.0文件

HLP:帮助文件;Date CAD Windows帮助文件

HPP:C++程序头文件

HQX:Macintosh BinHex 4.0文件

HT:HyperTerminal(超级终端)

HTM,HTML:超文本文档

HTT:Microsoft超文本模板

HTX:扩展HTML模板

I

ICO:Windows图标

IDX:Microsoft FoxPro相关数据库索引文件;Symantec Q&A相关数据库索引文件;Microsoft Outlook

Express文件

IMG:GEM映像

INF:信息文件

INI:初始化文件;Mwave DSP Synth的“nwsynth.ini” GMS安装;Cravis Ultrasound bank安装

INP:Oracle 3.0版或早期版本的表单源代码

INRS:INRS远程通信声频

INS:InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell/ⅡMAC/PC抽样设备

INT:中间代码,当一个源程序经过语法检查后编译产生一个可执行代码

IOF:Findit文档

IQY:Microsoft Internet查询文件

ISO:根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件

ISP:X-Internet签字文件

IST:数字跟踪设备文件

ISU:InstallShield卸装脚本

IT:脉冲跟踪系统音乐模块(MOD)文件

ITI:脉冲跟踪系统设备

ITS:脉冲跟踪系统抽样,Internet文档位置

IV:Open Inventor中使用的文件格式

IVD:超过20/20微观数据维数或变量等级文件

IVP:超过20/20的用户子集配置文件

IVT:超过20/20表或集合数据文件

IVX:超过20/20微数据目录文件

IW:Idlewild屏幕保护程序

IWC:Install Watch文档

J

J62:Ricoh照相机格式

JAR:Java档案文件(一种用于applet和相关文件的压缩文件)

JAVA:Java源文件

JAR:Java档案文件(一种用于applet和相关文件的压缩文件)

JAVA:Java源文件

JFF,JFIF,JIF:JPEG文件

JPE,JPEG,JPG:JPEG图形文件

JS:JavaScript源文件

JSP:HTML网页,其中包含有对一个Java servlet的参考

K

KAR:卡拉OK MIDI文件(文本+MIDI)

L

LAB:Visual dBASE标签文件

LBT,LBX:Microsoft FoxPro标签文件

LDB:Microsoft Access加锁文件

LHA:LZH更换文件后缀

LOG:日志文件

LZH:LH ARC压缩档案

M

M1V:MPEG相关文件(MIME"mpeg"类型)

M3D:Corel Motion 3D动画文件

M3U:MPEG URL(MIME声音文件)

MAM:Microsoft Access宏

MAQ:Microsoft Access查询文件

MAR:Microsoft Access报表文件

MBX:Microsoft Outlook保存email格式;Eudora邮箱

MCW:Microsoft Word的Macintosh文档

MDB:Microsoft Access数据库

MDN:Microsoft Access空数据库模板

MDW:Microsoft Access工作组文件

MID:MIDI音乐

MMM:Microsoft多媒体电影

MOV:QuickTime for Windows电影

MP2:第二层MPEG音频文件

MP3:第三层MPEG音频文件

MPA:MPEG相关文件,MIME“mpeg类型”

MPE,MPEG,MPG:MPEG动画文件

MPP:Microsoft工程文件;CAD绘图文件格式

MPR:Microsoft FoxPro菜单(已编译)

MSI:Windows 安装器包

MSN:Microsoft 网络文档;Descent Mission文件

O

OBD:Microsoft Office活页夹

OBJ:对象文件

OBZ:Microsoft Office活页夹向导

OCX:Microsoft对象链接与嵌入定制控件

ODS:Microsoft Outlook Express邮箱文件

OFT:Microsoft Outlook模板

OPX:OPL扩展DLL(动态链接库)

OSS:Microsoft Office查找文件

OST:Microsoft Exchange / Outlook 离线文件

P

PAL:压缩文件

PART:Go!Zilla部分下载文件

PAS:Pascal源代码

PCS:PICS动画文件

PDF:Adobe Acrobat

可导出文档格式文件(可用Web浏览器显示);Microsoft系统管理服务器包定义文件;NetWare打印机定义文件

PHP,PHP3:包含有PHP脚本的HTML网页

PHTML:包含有PHP脚本的HTML网页;由Perl分析解释的HTML

PM5:Pagemaker 5.0文件

PM6:Pagemaker 6.0文件

PPS:Microsoft Powerpoint幻灯片放映

PPT:Microsoft Powerpoint演示文稿

PRF:Windows系统文件,Macromedia导演设置文件

PSD:Adobe photoshop位图文件

PSM:Protracker Studio模型格式;Epic游戏的源数据文件

PST:Microsoft Outlook个人文件夹文件

PWL:Windows 95口令列表文件

Q

QIF:QuickTime相关图像(MIME);Quicken导入文件

QT,QTM:QuickTime电影

QTI,QTIF:QuickTime相关图像

QTP:QuickTime优先文件

QTS:Mac PICT图像文件;QuickTime相关图像

QTX:QuickTime相关图像

R

RA:RealAudio声音文件

RAM:RealAudio元文件

RAR:RAR压缩档案(Eugene Roshall格式)

REC:录音机宏;RapidComm声音文件

REG:注册表文件

REP:Visual dBASE报表文件

RES:Microsoft Visual C++资源文件

RM:RealAudio视频文件

RMF:Rich Map格式(3D游戏编辑器使用它来保存图)

ROM:基于盒式磁带的家庭游戏仿真器文件(来自Atari

2600、Colecovision、Sega、Nintendo等盒式磁带里的ROM完全拷贝,在两个仿真器之间不可互修改)

Rxx:多卷档案上的RAR压缩文件(xx=1~99间的一个数字)

S

SAV:游戏保存文件

SB:原始带符号字节(8位)数据

SBK:Creative Labs的Soundfont 1.0 Bank文件;(Soundb laster)/EMU SonndFont v1.x

Bank文件

SBL:Shockwave Flash对象文件

SCF:Windows Explorer命令文件

SCH:Microsoft Schedule+1

SCP:拨号网络脚本文件

SCR:Windows屏幕保护;传真图像;脚本文件

SFX:RAR自解压档案

SHTML:含有服务器端包括(SSI)的HTML文件

SPL:Shockwave Flash对象;DigiTrakker抽样

SQL:Informix SQL查询;通常被数据库产品用于SQL查询(脚本、文本、二进制)的文件扩展名

STM:.shtml的短后缀形式,含有一个服务端包括(SSI)的HTML文件;Scream Tracker V2音乐模块(MOD)文件

STR:屏幕保护文件

SWA:在Macromedia导演文件(MP3文件)中的Shockwave声音文件

SWF:Shockwave Flash对象

SYS:系统文件

T

T64:Commodore 64仿真器磁带映像文件

THEME:Windows 95桌面主题文件

TIF,TIFF:标签图像文件格式(TIFF)位图

TMP:Windows临时文件

TRM:终端文件

TXT:ASCⅡ文本格式的声音数据

TZ:老的压缩格式文件

V

VBA:VBase文件

VBP:Microsoft Visual Basic工程文件

VBW:Microsoft Visual Basic工作区文件

VBX:Microsoft Visual Basic用户定制控件

VQE,VQL:Yamaha Sound-VQ定位器文件

VQF:Yamaha Sound-VQ文件(可能出现标准)

VRF:Oracle 7配置文件

VSL:下载列表文件(GetRight)

W

WAB:Microsoft Outlook文件

WAD:包含有视频、玩家水平和其他信息的DOOM游戏的大文件

WAL:Quake 2正文文件

WAV:Windows波形声形

WBK:Microsoft Word备份文件

WFM:Visual dBASE Windows表单

WFN:在CorelDRAW中使用的符号

WIZ:Microsoft Word向导

WRL:虚拟现实模型

WWL:Microsoft Word内插器文件

X

XLK:Microsoft Excel备份

XLL:Microsoft Excel内插器文件

XLM:Microsoft Excel宏

XLS:Microsoft Excel工作单

XLT:Microsoft Excel模板

XLV:Microsoft Excel VBA模块

XLW:Microsoft Excel工作簿/工作区

Z

ZAP:Windows软件安装配置文件

ZIP:Zip文件

这个简单。大致的思路是

1.打开wav文件

2.打开要输出的wma文件

3.不停的读取数据帧

4.读取以后解码并写入wma

5.关闭wav文件

6.关闭wma文件

重新写例子太麻烦贴点代码吧

#include "Debug.h"

#include "FFMpegAVFileReader.h"

#include "FFMpegAVFileReaderFactory.h"

#include <sstream>

#include "yk_convert.h"

static char h264_head[4] = {(char)0x00,(char)0x00,(char)0x00,(char)0x01}

namespace YK

{

FFMpegAVFileReader::FFMpegAVFileReader()

{

ffmpeg_avcodec_init()

ffmpeg_av_register_all()

av_log_set_callback(ffmpeg_log_callback)

m_format_context = 0

m_input_format = 0

m_format_parameters = 0

m_packet = (AVPacket*)av_mallocz(sizeof(AVPacket))

}

FFMpegAVFileReader::~FFMpegAVFileReader()

{

Close()

av_free(m_packet)

}

avfile_reader_param_t* FFMpegAVFileReader::GetParam()

{

//YK::AutoLock l(m_lock)

return &m_param

}

void FFMpegAVFileReader::Seek(int pts)

{

YK::AutoLock l(m_lock)

int ret = av_seek_frame(m_format_context,-1,(YK::int64_t)pts * (YK::int64_t)1000,AVSEEK_FLAG_BACKWARD | AVSEEK_FLAG_ANY)

//if(ret >= 0)

//{

// for(int i = 0i <m_format_context->nb_streamsi++)

// {

// avcodec_flush_buffers( m_format_context->streams[i]->codec )

// }

//}

//std::stringstream ss

//ss <<"pts = " <<pts

// <<" ret = " <<ret <<std::endl

//OutputDebugString(ss.str().data())

}

void FFMpegAVFileReader::GetDuration(double&start,double&end)

{

//YK::AutoLock l(m_lock)

start = (double)(m_start_time / 1000000)

end = start + (double)(m_duration / 1000000)

}

service_error_t FFMpegAVFileReader::Open(int time_out)

{

YK::AutoLock l(m_lock)

service_error_t service_error

// 打开文件

if (av_open_input_file(&m_format_context,TToANSI(m_param.input_file_path).data(),m_input_format,0,m_format_parameters) <0)

{

service_error.init(service_error_type_failed,"av_open_input_file failed")

return service_error

}

// 查询流信息

if(av_find_stream_info(m_format_context) <0)

{

service_error.init(service_error_type_failed,"av_find_stream_info failed")

return service_error

}

m_start_time = m_format_context->start_time

m_duration = m_format_context->duration

#ifdef _DEBUG

pFile = fopen("D:/1.out","w+b")

#endif

// 保存流信息

av_stream_info_t av_stream_info

for(unsigned int i = 0i <m_format_context->nb_streamsi++)

{

AVStream *st = m_format_context->streams[i]

AVCodecContext *enc = st->codec

if(enc->codec_type == AVMEDIA_TYPE_AUDIO)

{

// 音频

av_stream_info.av_stream_info_type = av_stream_info_type_audio

av_stream_info.codec_id = codec_id_none

//channel_layout = enc->channel_layout

av_stream_info.audio_channels = enc->channels

av_stream_info.audio_samplepersec = enc->sample_rate

av_stream_info.audio_bitpersample = yk_sample_format(enc->sample_fmt)

//audio_sample_fmt = enc->sample_fmt

//input_codecs[nb_icodecs++] = avcodec_find_decoder_by_name(audio_codec_name)

av_stream_info.codec_id = yk_code_id(enc->codec_id)

av_stream_info.extradata_size = enc->extradata_size

if(av_stream_info.extradata_size)

memcpy(av_stream_info.extradata,enc->extradata,enc->extradata_size)

if(av_stream_info.codec_id == codec_id_mp3)

{

av_stream_info.extradata_size = sizeof(mpeg1_waveformat_extradata)

mpeg1_waveformat_extradata* pMpeg1WaveFormat = (mpeg1_waveformat_extradata*)av_stream_info.extradata

pMpeg1WaveFormat->dwHeadBitrate = enc->bit_rate

pMpeg1WaveFormat->dwPTSHigh = 0

pMpeg1WaveFormat->dwPTSLow = 0

pMpeg1WaveFormat->fwHeadFlags = 25

pMpeg1WaveFormat->fwHeadLayer = ACM_MPEG_LAYER3

pMpeg1WaveFormat->fwHeadMode = ACM_MPEG_STEREO

pMpeg1WaveFormat->fwHeadModeExt = 1

pMpeg1WaveFormat->wHeadEmphasis = 1

}

AddStreamInfo(av_stream_info)

m_stream_audio_index = i

}

else if(enc->codec_type == AVMEDIA_TYPE_VIDEO)

{

// 视频

av_stream_info.av_stream_info_type = av_stream_info_type_video

av_stream_info.codec_id = codec_id_none

av_stream_info.video_width = enc->width

av_stream_info.video_height = enc->height

av_stream_info.video_profile = enc->profile

av_stream_info.video_level = enc->level

if(av_stream_info.video_profile <0)

{

av_stream_info.video_profile = 77

}

if(av_stream_info.video_level <0)

{

av_stream_info.video_level = 30

}

av_stream_info.extradata_size =


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10946010.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存