import sunaudio;
import javaio;
import javaawt;
import javaawtevent;
class Sound5
{
FileInputStream file;
BufferedInputStream buf;
public Sound5()
{
try
{
file=new FileInputStream("1mid");
buf=new BufferedInputStream(file);
AudioStream audio=new AudioStream(buf);
AudioPlayerplayerstart(audio);
}
catch (Exception e) {}
}
}
public class e8165 extends Frame implements ActionListener
{
e8165()
{
super("音频播放器");
setBounds(300,300,200,100);
setVisible(true);
Button btn=new Button("播放");
setLayout(new FlowLayout());
add(btn);
btnaddActionListener(this);
validate();
// Sound5 play = new Sound5();
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ Systemexit(1); }
});
}
public void actionPerformed(ActionEvent e)
{
Sound5 play = new Sound5();
}
public static void main(String[] args)
{
new e8165();
}
}
//下载一个mid文件命名为1,放在上述代码的包下
AudioCLip主要的方法有:play()播放依次声音;loop()循环播放音乐;stop()停止播放。
做法一:
InputStream is =null;
AudioStream as = null ;
is = getClass()getResourceAsStream("awav");
try {
as = new AudioStream(is);
} catch (IOException e) {}
AudioPlayerplayerstart(as);
此方法将音乐文件放入流中在播放,仅限于Java Application,容易报错,空指针异常,或者是流异常,不推荐。
做法二:
String music = "awav";
AudioClip clip = AppletnewAudioClip(getClass()getResource(music));
次方法在Applet中运行没有问题,但是Application中getclass()会返回空指针,导致失败。
推荐做法:
private URL url;
private AudioClip ac;
File f1 = new File("C:/3wav");
try {
url= f1toURL();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
ac= AppletnewAudioClip(cb1);
acplay();
打开系统记事本,按如下结构编辑一个文档,退出保存,修改其扩展名为wmv
<ASX version="30">
<Entry>
<Title>歌曲名</Title>
<Author>作者</Author>
<Copyright>版权</Copyright>
<Banner href="你的个性在网络中的地址"></Banner>
<Ref href="以>
你使用了过时的类调用了过时的方法 已经不被推荐使用, 所以eclipse会划线提示
以toURL() 为例 直接从File对象获得链接, 但是toURL方法,不会对特殊字符编码 但是toURI方法会进行编码
所以现在一般的解决方案是 filetoURI()toURL();
解决办法:使用javafxscenemediaAudioClip , 该类功能简单: 播放和停止声音 没有暂停, 时间长度,资料,均衡器等功能
参考代码
import javaioFile;import javafxscenemediaAudioClip; // 导包
public class TestAudioClip {
public static void main(String[] args) throws Exception {//抛出异常
AudioClip audioClip=new AudioClip(new File("D:\\宣传片音效mp3")toURI()toURL()toString());
audioClipplay(08);//设置以80%的音量播放
// 设置一个循环,保证播放完了声音才退出程序
while(true) {
if(!audioClipisPlaying()) {//如果停止了播放,就退出while循环
break;
}
}
//while(audioClipisPlaying()) {} //这样写更简洁
}
}
只要在HTML上添加以上代码就OK了,前提是电脑上已经安装了播放器,如RealPlay。
<embed
src="C:/mp3/1019/画心mp3"
width="480"
height="100"
loop="false"
autostart="false">
</embed>
更多设置如下:
1、如果要播放rm,ra,ram类型的音乐,代码如下:
<embed
width="0"
height="0"
type="audio/x-pn-realaudio-plugin"
autostart="true"
controls="ControlPanel"
src=">
这个应该很容易实现,你的意思是用户登录以后,如果用户的登录信息,就播放ok方面的歌曲,如果用户登录失败就播放失败之类的歌曲。方法一:一个登录页面,两个带有music的页面,这两个页面的所有内容是一样的,只是music的href(路径)不一样,当成功就跳到成功的那个页面,失败就跳到失败的页面就是了。方法很多哈,这个太土了。方法二:你还可这样实现,先写一个默认href指向成功的music的页面,登录成功直接跳到这个界面就是了,如果登录失败的话通过javascript修改本来的页面的href,跳转过来的时候由于href改变了,所以亦不会播放默认的那首歌曲了,一下子就ok了,有点事情出去一下,有时间把代码给你看一下,几行代码就ok了
使用Applet播放声音时需首先定义AudioClip对象,GetAudioClip方法能把声音赋予AudioClip对象,如果仅想把声音播放一遍,应调用AudioClip类的play方法,如果想循环把声音剪辑,应选用AudioClip类的loop方法。
(1) 播放声音文件
图像格式各种各样,如BMP、GIF和JPEG等。声音文件也一样,WAV和AU是最常用的两种声音文件。目前Java仅支持AU文件,但Windows环境下常用的却是WAV文件,所以最好能有一个可把WAV文件转换为AU文件的工具。
播放声音的AudioClip类
AudioClip类用来在Java Applet内播放声音,该类在javaApplet包中有定义。
下面演示了如何利用AudioClip类播放声音。
装入一个名为SampleAu的声音文件并播放(SoundDemojava)
//源程序清单
import javaawt;
import javaapplet
public class SoundDemo extends Applet
{
public void paint(Graphics g)
{
AudioClip audioClip=getAudioClip(getCodeBase(),”SampleAU”);
//创建AudioClip对象并用//getAudioClip方法将其初始化。
gdrawstring("Sound Demo! ",5,15);
audioCliploop();//使用AudioClip类的loop方法循环播放
}
}
需把如下的HTML语句放入SoundDemoHTML文件,为运行该Applet做准备。
<HTML>
<TITLE>SoundDemo Applet</TITLE>
<APPLET CODE="SoundDemoclass" WIDTH=300 HEIGHT=200>
</APPLET>
</HTML>
编译并运行该Applet,屏幕上将显示出一个Applet窗口并伴以音乐。关闭Applet时音乐终止。
以上就是关于java应用程序中播放mid音乐的代码,求助!!!!全部的内容,包括:java应用程序中播放mid音乐的代码,求助!!!!、Java界面,添加音乐按钮,可以播放音乐、java怎么样实现在线音乐的播放等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)