- 浏览: 182231 次
- 性别:
- 来自: 北京
文章分类
最新评论
/** *//**
* 直接播放url文件
*
* @param uri
* @param ftype
* @param loop
* @return
*/
public boolean load(URI uri, int ftype, boolean loop) ...{
// 刷新数据
reset();
if (uri == null) ...{
return false;
}
// 获得SoundData
SoundData data = new SoundData(uri, ftype, loop);
if (data == null || data.getData() == null) ...{
return false;
}
return init(data.getData(), data.getType(), data.getLoop());
}
/** *//**
* 初始化sound相关数据
*
* @param data
* @param ftype
* @param loop
* @return
*/
private boolean init(byte[] data, int ftype, boolean loop) ...{
boolean result = false;
ByteArrayInputStream bis = null;
try ...{
bis = new ByteArrayInputStream(data);
} catch (Exception e) ...{
bis = null;
}
if (bis == null) ...{
return false;
}
// 判断类型
switch (ftype) ...{
// MIDI
case SoundData._L_SOUNDTYPE_MIDI:
// 当MIDI不存在时
if (_midi == null) ...{
try ...{
// 获得Sequencer
_midi = MidiSystem.getSequencer();
_midi.open();
} catch (Exception ex) ...{
_midi = null;
}
if (_midi != null) ...{
_midi.addMetaEventListener(this);
}
}
// 当MIDI依旧未获得时
if (_midi != null) ...{
// 重新创建Sequence
Sequence sc = null;
try ...{
sc = MidiSystem.getSequence(bis);
} catch (Exception e) ...{
sc = null;
}
if (sc != null) ...{
try ...{
_midi.setSequence(sc);
// 获得是否循环播放
_loop = loop;
// 获得是否载入
result = true;
} catch (Exception ee) ...{
}
// 获得声音类型
_soundType = SoundData._L_SOUNDTYPE_MIDI;
}
}
try ...{
bis.close();
} catch (Exception ee) ...{
}
break;
// Wav
case SoundData._L_SOUNDTYPE_WAV:
AudioFileFormat type = null;
// 获得Audio
try ...{
type = AudioSystem.getAudioFileFormat(bis);
} catch (Exception e) ...{
type = null;
}
// 关闭流
try ...{
bis.close();
} catch (Exception ex) ...{
}
if (type == null) ...{
return false;
}
// 根据指定信息构造数据行的信息对象
DataLine.Info di = new DataLine.Info(Clip.class, type.getFormat());
// 转为Clip
try ...{
_audio = (Clip) AudioSystem.getLine(di);
} catch (Exception e) ...{
}
// 播放文件
try ...{
_audio.open(type.getFormat(), data, 0, data.length);
_loop = loop;
result = true;
} catch (Exception e) ...{
}
// 获得文件类型
_soundType = SoundData._L_SOUNDTYPE_WAV;
break;
}
return result;
}
public boolean play(SoundData data) ...{
if (!load(data)) ...{
return false;
}
return play();
}
public boolean play() ...{
switch (_soundType) ...{
case SoundData._L_SOUNDTYPE_MIDI:
try ...{
_midi.start();
_playing = true;
_soundType = SoundData._L_SOUNDTYPE_MIDI;
} catch (Exception ee) ...{
}
break;
case SoundData._L_SOUNDTYPE_WAV:
if (_audio != null) ...{
if (_loop) ...{
// 设定循环
_audio.setLoopPoints(0, -1);
_audio.setFramePosition(0);
_audio.loop(Clip.LOOP_CONTINUOUSLY);
} else ...{
// 强制设定播放位置至0
_audio.setFramePosition(0);
_audio.start();
}
_playing = true;
}
break;
}
return _playing;
}
/** *//**
* 自动播放,循环停止后结束。
*
* @param data
* @return
*/
public boolean AutoPlay(SoundData data) ...{
if (!load(data)) ...{
http:
发表评论
-
人民币转换数字
2012-11-07 15:14 1124该贴原因: ... -
个人收集的java精品网站
2012-05-30 08:19 0java进阶网 http://www.javady.com ... -
JVM(java 虚拟机)内存设置
2011-06-02 16:37 15192JVM(java 虚拟机)内存 ... -
汉字全半角转化程序
2011-02-25 08:52 1482转载一个牛人的。方便以后查看使用: 也许. 这个代码对很多人 ... -
md5JAVA实现
2010-06-07 22:43 1204MD5算法研究 MD5的 ... -
在Java中操作串口实现短信收发2
2010-06-07 22:08 14094.发送数据成功进行初 ... -
在Java中操作串口实现短信收发1
2010-06-07 22:06 1608在Java中操作串口实现短信收发 采用串口操作进行短信收发 ... -
JVM内存参数调优
2010-06-07 22:03 1977JVM内存参数调优 我们前面所提到的堆内存(heap)是由 ... -
多线程程序设计的要点
2010-06-07 22:00 861多线程中有主内存和工 ... -
Java 处理事务精要
2010-06-07 21:58 995简单事务的概念 我 ... -
如何开公司及手续过程
2010-06-07 21:55 1219注册一个公司,首先想好经营什么,怎样经营好,再来注册。要不,注 ... -
运用加密技术保护Java源代码
2010-06-07 21:52 949Java程序的源代码很容易被别人偷看,只要有一个反编译器,任何 ... -
连接池的基本工作原理
2010-06-07 21:39 848连接池的基本工作原理 1、基本概念及原理 由上面的分析可以 ... -
高效的Java音乐播放类
2010-06-07 21:34 1536/** *//** * 自动播放,循环停止后结束。 ... -
高效的Java音乐播放类
2010-06-07 21:26 1376Java音频播放,因为必须依赖到本地环境,所以JAVA在音频处 ... -
用开源的 InnoSetup 为 Java 应用制作 Windows 安装程序
2010-04-24 11:30 1684在这个例子里, 我将给大家展示如何使用 InnoSetup 自 ... -
Swing: 用 GlassPane 显示一个透明的正在操作框
2010-04-24 10:25 2033这个组件可以让用户看到界面里的显示但是无法操作. 需要的图: ... -
文本放大器
2010-04-24 10:06 1280/** * @(#)Text2Image.java 1.0 D ... -
在自定义 JToolTip 里面显示组件
2010-04-24 10:03 2326在自定义 JToolTip 里面显示组件 我们经常可以看 ... -
JIDE的开源Swing组件
2010-04-24 09:57 9605虽然它们早就开源了(去年吧),我也是今天才看到,虽然目前也用不 ...
相关推荐
转载--------高效的Java音乐播放类
Java音乐播放器是一种基于Java编程语言开发的软件,它能够解析和播放音频文件。这个播放器需要JMF(Java Media Framework)插件的支持,JMF是Sun Microsystems开发的一个开源框架,用于处理各种多媒体数据,包括音频...
Java MP3格式音乐的播放插件是用于在Java应用程序中播放MP3音频文件的软件组件。这个插件或库使得开发者能够轻松地集成音乐播放功能,无需依赖操作系统原生的媒体播放器。在Java平台上,由于它自身的跨平台特性,...
这个应用结合了Java作为后端处理语言以及Android作为前端平台,为用户提供了一个方便、高效的音乐播放体验。以下将详细介绍相关知识点。 1. **Java基础知识**: - **面向对象编程**:Java是基于面向对象编程的,它...
Java MP3音乐播放器是一种基于Java编程语言开发的软件,用于播放MP3音频格式的音乐。这个项目不依赖于Java Foundation Classes (JFC)中的Java Media Framework (JMF),而是选择了第三方的Java库来实现MP3播放功能。...
Java音乐盒系统选择了SQLServer2005作为其数据库管理系统,支持高效的数据查询和存储。通过SQL语句,系统能快速检索音乐信息,如歌手、专辑、歌曲名等,并提供排序、过滤等功能。 4. **Eclipse集成开发环境** 开发...
【纯Java音乐共享平台】是一个由个人开发的项目,它完全基于Java编程语言,利用Swing库构建用户界面,同时结合多线程和Socket网络通信技术来实现音乐资源的共享功能。这个平台允许用户在客户端与服务器之间进行交互...
Java提供了FileInputStream和BufferedInputStream等类来读取文件内容,它们能够高效地处理大文件,如MP3音乐。 3. **Java音频API**:Java Sound API是Java标准库中的一个部分,用于处理音频数据。它包括了Audio...
在Java编程语言中,上传音乐涉及的主要知识点是IO流(Input/Output Stream)的使用,特别是对于大文件如音乐的高效处理。IO流是Java中处理数据传输的核心机制,允许程序读取或写入数据到各种来源,如硬盘、网络、...
2. **面向对象编程**:在Java中,坦克大战的各个元素可以被设计为类,如Tank类代表坦克,Bullet类代表子弹,Field类代表游戏场地等。这些类通过继承、封装和多态等面向对象特性,实现游戏的模块化和可扩展性。 3. *...
如果是可执行的jar文件,用户只需双击即可运行,享受由Java带来的高效且美观的音乐播放体验。 总的来说,这款Java编写的炫酷界面音乐播放器展示了Java在GUI应用开发方面的强大能力,同时也提供了学习和借鉴的实例,...
这个"碉堡版"的Java音乐播放器源码是一个很好的学习资源,可以帮助开发者深入理解Java编程,尤其是多媒体处理、GUI设计和多线程等方面的知识。通过研究和分析源码,可以提升自己的Java编程技能和实际项目开发经验。
总结,这个“Java开发的Android音乐播放器”项目展示了Java在移动开发中的强大功能,以及如何通过良好的设计和编程实践来创建一个高质量的本地音乐播放应用。对于学习Android开发的初学者来说,这样的项目是一个很好...
总之,AudioCore凭借其对FFmpeg的高效封装,为Java开发者提供了便捷的音频转码和播放解决方案。无论是在服务器端处理大量音频文件,还是在客户端提供流畅的播放体验,AudioCore都是值得信赖的工具。开发者可以通过...
【JAVA版音乐播放器源代码】是一个项目,它涵盖了服务器端、客户端以及数据库的实现,目的是为了构建一个功能完备的音乐播放平台。这个平台允许用户进行登录和注册操作,通过在客户端与服务器端之间建立通信,实现了...
Java MP3播放插件是一种专为Java平台设计的软件组件,它允许开发者通过Java编程语言创建功能丰富的音乐播放器应用程序。这款插件扩展了Java Media Framework (JMF) 的功能,使得开发者不仅可以处理常见的音频格式如...
2. **Java GUI设计**:使用Swing或JavaFX创建用户界面,包括播放、暂停、停止、音量控制等按钮,以及进度条和音视频信息显示区域。 3. **MPEG解码**:通过JMF或JavaFX的内置功能,解析MPEG文件,提取音频和视频流...
Java编写的音乐播放器,如"YoYoPlayer"或简称为"java Player",是一种用Java编程语言实现的多媒体应用程序,旨在为用户提供便捷、高效的音乐播放体验。在本项目中,开发者模仿了知名的TTPlayer的界面设计,为用户...
Java音乐播放器是一款基于Java编程语言开发的音频播放软件,其设计目标是提供一个简洁易用的用户界面,让用户能够方便地管理和播放各种格式的音乐文件。Java作为跨平台的编程语言,使得该音乐播放器具备了在不同操作...
Java MP3音乐播放器是一种利用Java编程语言开发的软件,专用于播放MP3格式的音频文件。这个项目展示了如何在Java环境下实现一个功能完备、用户界面友好的音乐播放器。在设计过程中,开发者运用了单例模式来确保程序...