成都创新互联网站制作重庆分公司

java的声音代码 java声音处理库

如何实现java中的声音添加,播放等操作。

可以使用Applet组件,主要的代码如下(缺点是能播放WAv格式的,还有其它格式,不过mp3不行,):

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站制作、成都网站设计、称多网络推广、成都小程序开发、称多网络营销、称多企业策划、称多品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供称多建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

import java.applet.Applet;

import java.applet.AudioClip;

import java.awt.FlowLayout;

import java.awt.event.*;

import java.io.File;

import java点虐 .MalformedURLException;

//播放音乐按钮

private JButton getPlayButton(){

if(playButton==null){

playButton=new JButton("播放");

playButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

if(filePath.getText()!=null){

try{

if(audioClip!=null){

audioClip.stop();

}

audioClip=Applet.newAudioClip(new File(filePath.getText()).toURI().toURL());

audioClip.play();//播放

}//只需要添加一个File对象传入文件路径

catch(MalformedURLException ee){ee.printStackTrace();}

}

}

});

}

return playButton;

}

java 播放 声音

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

import java点虐 .*;

import javax.swing.*;

import java.io.File;

class AudioPlayDemo extends JFrame implements ActionListener {

boolean looping = false;

File file1 = new File("music\\明天会更好.wav");

AudioClip sound1;

AudioClip chosenClip;

JButton playButton = new JButton("播放");

JButton loopButton = new JButton("循环播放");

JButton stopButton = new JButton("停止");

JLabel status = new JLabel("选择播放文件");

JPanel controlPanel = new JPanel();

Container container = getContentPane();

public AudioPlayDemo() {

try {

sound1 = Applet.newAudioClip(file1.toURL());

chosenClip = sound1;

} catch(OutOfMemoryError e){

System.out.println("内存溢出");

e.printStackTrace();

} catch(Exception e){

e.printStackTrace();

}

playButton.addActionListener(this);

loopButton.addActionListener(this);

stopButton.addActionListener(this);

stopButton.setEnabled(false);

controlPanel.add(playButton);

controlPanel.add(loopButton);

controlPanel.add(stopButton);

container.add(controlPanel, BorderLayout.CENTER);

container.add(status, BorderLayout.SOUTH);

setSize(300, 130);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序

}

public void actionPerformed(ActionEvent event) {

if (chosenClip == null) {

status.setText("声音未载入");

return;

}

Object source = event.getSource(); //获取用户洗涤激活的按钮

if (source == playButton) {

stopButton.setEnabled(true);

loopButton.setEnabled(true);

chosenClip.play();

status.setText("正在播放");

}

if (source == loopButton) {

looping = true;

chosenClip.loop();

loopButton.setEnabled(false);

stopButton.setEnabled(true);

status.setText("正在循环播放");

}

if (source == stopButton) {

if (looping) {

looping = false;

chosenClip.stop();

loopButton.setEnabled(true);

} else {

chosenClip.stop();

}

stopButton.setEnabled(false);

status.setText("停止播放");

}

}

public static void main(String s[]) {

new AudioPlayDemo();

}

}

兄弟给分吧```

java关于播放声音的代码的解释

playCycle(String s)这个是单曲重复播放;play(String s)这个是单曲播放。

/******* part one start *******/

//获取媒体文件流

AudioInputStream ais = AudioSystem.getAudioInputStream(new File(fileurl));

//获取文件格式

AudioFormat aif = ais.getFormat();

//这个类不知道是什么,没用过,在这里应该是对媒体流处理的一个类

SourceDataLine sdl = null;

//这个貌似通过媒体格式,获取媒体文件的信息

DataLine.Info info = new DataLine.Info(SourceDataLine.class,aif);

//通过媒体文件的信息初始化处理媒体文件的类

sdl = (SourceDataLine)AudioSystem.getLine(info);

//媒体工具类 打开媒体流

sdl.open(aif);

//媒体工具(播放器)开启

sdl.start();

/******* part one end *******/

/******* part two start ********/

int nByte = 0;

byte[] buffer = new byte[128];

//媒体工具类(播放器类)对媒体流进行写入处理,此时应该会有音乐响起吧

while(nByte != -1){

nByte = ais.read(buffer,0,128);

if(nByte = 0){

int oByte = sdl.write(buffer, 0, nByte);

//System.out.println(oByte);

}

}

//媒体流结束,并关闭这个媒体工具类

sdl.stop();

/******* part two end********/

java 控制台程序怎么调用声音文件?

在 applet 中播放声音文件非常简单,一般需要以下步骤:创建一个 AudioClip 对象

装入 .au 声音文件到 AudioClip 对象

一次播放或者不停循环播放声音

停止播放

下面是相应的代码:import java.applet.*;AudioClip ac = getAudioClip(getCodeBase(), soundFile);

ac.play(); //play once

ac.stop(); //stop playing

解决这个问题的窍门是利用由 Sun 及 其JDK 提供的某些 undocumented 的特征。先看看 Sun JDK 中的文件 classes.zip (使用任何解压工具即可),发现其中不仅包含标准的 Java 包如 java.applet 而且还存在包 sun.audio. (在 sun/audio 的目录下.)

包 sun.audio 中包含了用于播放声音文件所需的所有东西!下面是示例代码:import sun.audio.*; //import the sun.audio package

import java.io.*;//** add this into your application code as appropriate// Open an input stream to the audio file.

InputStream in = new FileInputStream(Filename);// Create an AudioStream object from the input stream.

AudioStream as = new AudioStream(in);// Use the static class member "player" from class AudioPlayer to play

// clip.

AudioPlayer.player.start(as);// Similarly, to stop the audio.

AudioPlayer.player.stop(as);如果要用一个 URL 做为声音流的源(source),则用下面的代码所示替换输入流来创建声音流:AudioStream as = new AudioStream (url.openStream());如果需要持续播放声音文件,则要稍稍复杂一点:// Create audio stream as discussed previously.

// Create AudioData source.

AudioData data = as.getData();// Create ContinuousAudioDataStream.

ContinuousAudioDataStream cas = new ContinuousAudioDataStream (data);// Play audio.


网站栏目:java的声音代码 java声音处理库
URL链接:http://cxhlcq.com/article/ddgjeeo.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部