import javax.swing.ImageIcon;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;
import java.applet.Applet;
import java.applet.AudioClip;
/**
*
* <p>Title: 获取资源</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2008</p>
* <p>Company: </p>
* @author landix
* @version 1.0
*/
public class ResourceManager {
//系统图片路径
private static String IMAGE_RESOURCE_PATH = "com/landix/oamq/client/images/";
//系统音频路径
private static String SOUND_RESOURCE_PATH = "com/landix/oamq/client/sound/";
//系统文件路径
private static String FILE_RESOURCE_PATH = "";
private ResourceManager() {
}
public static ImageIcon getIcon(String imageName) {
if (imageName == null) return(null);
ImageIcon icon = null;
try {
//通过类加载器加载图片资源,作为图标对象的参数
icon = new ImageIcon(ResourceManager.class.getClassLoader()
.getResource(IMAGE_RESOURCE_PATH + imageName));
} catch (Exception ex) {
System.out.println ("### Exception in getIcon() : \r\n" + IMAGE_RESOURCE_PATH + imageName + " " + ex.toString());
}
return icon;
}
public static Image getImage(String imageName) {
if (imageName == null) return(null);
Image image = null;
try {
//通过类加载器加载图片资源,作为图标对象的参数
image = Toolkit.getDefaultToolkit().getImage(ResourceManager.class.getClassLoader()
.getResource(IMAGE_RESOURCE_PATH + imageName));
} catch (Exception ex) {
System.out.println ("### Exception in getIcon() : \r\n" + IMAGE_RESOURCE_PATH + imageName + " " + ex.toString());
}
return image;
}
public static AudioClip getSound(String soundName) {
if (soundName == null) return(null);
AudioClip wowo = null ;
try {
//通过类加载器加载声音资源,作为声音对象的参数
wowo = Applet.newAudioClip(ResourceManager.class.getClassLoader()
.getResource(SOUND_RESOURCE_PATH + soundName));
} catch ( Exception ex ) {
System.out.println ("### Exception in getIcon() : \r\n" + SOUND_RESOURCE_PATH + soundName + " " + ex.toString());
}
return wowo;
}
public static File getFile(String fileName) {
if (fileName == null) return(null);
File file = null;
try {
//通过类加载器加载文件资源,作为文件对象的参数
file = new File(ResourceManager.class.getClassLoader()
.getResource(FILE_RESOURCE_PATH + fileName).toString());
} catch (Exception ex) {
System.out.println ("### Exception in getIcon() : \r\n" + FILE_RESOURCE_PATH + fileName + " " + ex.toString());
}
return file;
}
}
分享到:
相关推荐
4. **语音合成(Text-to-Speech, TTS)**:在Java中,我们可以通过Jacob调用`SpVoice.Speak()`方法,传入需要合成的文本字符串,让系统语音引擎将其读出来。还可以设置一些参数,如语速、音调等,以定制合成效果。 ...
7. **错误处理**:在实际开发中,必须对可能出现的各种异常进行处理,例如文件不存在、权限问题、ffmpeg命令执行失败等。 综上所述,Java结合ffmpeg在音频格式转换方面提供了灵活且强大的解决方案。通过理解上述...
总之,Java调用Windows操作系统实现文本转语音并生成播放文件,涉及到JNI、COM组件、DLL编程、音频处理等多个方面,需要对Java和Windows API有深入理解。通过适当的技术选择和优化,可以创建出高效、灵活的文本转...
4. **异常处理**:在调用外部程序时,可能会遇到找不到文件、权限问题等异常,需要进行适当的异常处理。例如,当命令执行失败时,`exec()`方法会抛出`IOException`。 5. **DatToWav.java**:根据提供的文件名,这...
总结来说,通过Java调用FFmpeg和Mencoder进行视频格式转换,需要理解这两个工具的命令行语法,以及如何在Java中执行外部进程。此过程涉及到文件类型的检查、预处理转换(如果必要)、最终的格式转换以及错误处理,...
在Java中,可以使用JAVE(Java Audio Video Encoder)或者Java Sound API来处理音频文件。将音频数据转换为API所需的格式,并编码成Base64字符串,以便通过HTTP请求发送。 在发送请求后,API会返回一个JSON响应,...
首先,我们要了解Java中的音频处理框架。Java Sound API(Java Sound Access)是Java标准版的一部分,它为音频播放、录制、合成以及文件格式处理提供了基础。这个API包括了多个包,如javax.sound.sampled,它是处理...
你可以根据实际情况调用`combineWAVs`函数,传入你需要合并的WAV文件路径,并指定一个目标合成文件的路径。 通过以上代码,你可以实现对WAVE文件的属性读取以及文件合成操作,这对于在Java项目中处理音频资源非常...
Java调用视频转换工具FFmpeg是一项常见的任务,特别是在多媒体处理和流媒体服务中。FFmpeg是一个强大的跨平台命令行工具,用于转换、流化、编辑和处理音频和视频文件。在Java应用程序中集成FFmpeg,可以实现灵活的...
通过以上分析,我们可以看出这个项目的核心是利用Java调用FFmpeg实现视频和音频的转码功能,涉及到多媒体处理、文件操作、系统调用等多个方面。对于开发者来说,理解FFmpeg的工作原理以及如何在Java中有效地利用它是...
文档中的 "java播放视频音频文件.doc" 可能包含了更详细的步骤、示例代码或者关于如何处理特定问题的指南,如错误处理、播放进度控制和用户界面集成等。在实际开发中,你可能需要结合这个文档来获取更全面的信息。 ...
Java中,`java.io.File`类提供了文件和目录操作的方法,而`Files`类则包含了一些高级的文件操作。 在获取文件路径后,我们可能还需要进行一些安全检查,比如权限验证,确保程序有权限访问所选文件。此外,如果需要...
在Java中使用Jave进行音频转码,主要包括以下步骤: - 引入Jave库:将Jave的jar文件添加到项目的类路径中。 - 创建`Encoder`对象:根据目标格式创建相应的编码器对象。 - 设置转码参数:如目标比特率、采样率、...
在Java中封装ffmpeg,可以为开发者提供更方便的API,简化音频处理的复杂性。 ### 1. 批量剪切mp3音频资源 批量剪切mp3音频资源是一项常见的需求,例如,可能需要将一个长篇的音频文件分割成多个小片段。Java SDK...
- 在加载音频文件的过程中可能会遇到一些异常,如文件不存在或者路径错误等。因此,我们需要捕获并处理`MalformedURLException`异常。 #### 示例代码解析 ```java import java.applet.AudioClip; import java.io....
在本文中,我们将深入探讨如何使用Java调用科大讯飞的离线语音识别DLL来实现Windows系统的离线语音识别功能。首先,我们要理解几个关键概念:JNA(Java Native Access)是Java平台上的一个库,它允许Java代码直接与...
2. **文件系统存储**:另一种方法是将图片文件存储在文件系统中,然后在数据库中仅存储文件路径。这种方法的优点在于数据库负担较小,但需要管理文件系统的同步问题。 3. **云存储服务**:现代应用可能会选择将图片...
在Java编程中,Blob(Binary Large Object)是用于存储大量二进制数据的数据类型,常被用在数据库中保存图片、文件等非文本信息。本教程将深入探讨如何使用Java进行Blob字段的操作,以实现将图片或文件保存到数据库...
在Java中调用摄像头,JMF是一个重要的工具,它提供了API来管理多媒体设备,如摄像头,以及处理媒体数据。`jmf-2_1_1e-windows-i586`是JMF的一个特定版本,适用于32位的Windows系统。 4. **SWF控件**: SWF...
在Java编程语言中,处理音频文件播放是一项常见的任务,尤其在开发多媒体应用或者游戏时。本教程将深入探讨如何在Java环境中实现音频播放功能。"java_music.rar"这个压缩包包含了一个实现音频播放功能的Java类以及一...