在java代码中添加声音文件

在java中添加声音文件

import java.io.IOException;

import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.SourceDataLine;


public class Audio {
	byte[] b = new byte[1024 * 1024 * 15];
	public void loop() {
		try {
			while (true) {
				int len = 0;
				sourceDataLine.open(audioFormat, 1024 * 1024 * 15);
				sourceDataLine.start();
				//System.out.println(audioInputStream.markSupported());
				audioInputStream.mark(12358946);
				while ((len = audioInputStream.read(b)) > 0) {
					sourceDataLine.write(b, 0, len);
				}
				audioInputStream.reset();

				sourceDataLine.drain();
				sourceDataLine.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private AudioFormat audioFormat = null;
	private SourceDataLine sourceDataLine = null;
	private DataLine.Info dataLine_info = null;
	private AudioInputStream audioInputStream = null;

	public Audio(String fileName) {
		try {
			audioInputStream = AudioSystem.getAudioInputStream(Audio.class.getClassLoader().getResource(fileName));
			audioFormat = audioInputStream.getFormat();
			dataLine_info = new DataLine.Info(SourceDataLine.class, audioFormat);
			sourceDataLine = (SourceDataLine) AudioSystem.getLine(dataLine_info);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void play() {
		try {
			byte[] b = new byte[1024*5];
			int len = 0;
			sourceDataLine.open(audioFormat, 1024*5);
			sourceDataLine.start();
			audioInputStream.mark(12358946);
			while ((len = audioInputStream.read(b)) > 0) {
				sourceDataLine.write(b, 0, len);
			}
			sourceDataLine.drain();
			sourceDataLine.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void close() {
		try {
			audioInputStream.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		Audio a = new Audio("audio/war1.wav");
//		a.loop();
		a.play();
	}
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Java,我们可以使用配置文件添加属性。配置文件是一个纯文本文件,用于存储应用程序的配置信息。常见的配置文件格式有Properties、XML和JSON等。 首先,我们需要创建一个配置文件。可以使用文本编辑器创建一个以.properties、.xml或.json为后缀的文件,并按照相应的格式编写配置信息。 例如,使用Properties格式的配置文件,可以这样编写: ```properties # 配置信息示例 database.url=jdbc:mysql://localhost:3306/mydb database.username=root database.password=123456 ``` 接下来,在Java代码读取配置文件的属性。可以使用Java提供的配置文件读取工具类,如Properties类、XML解析器或JSON解析器。 以Properties格式为例,可以使用以下代码读取属性: ```java import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; public class ConfigReader { public static void main(String[] args) { Properties properties = new Properties(); try { // 加载配置文件 properties.load(new FileInputStream("config.properties")); // 读取属性 String url = properties.getProperty("database.url"); String username = properties.getProperty("database.username"); String password = properties.getProperty("database.password"); // 打印属性值 System.out.println("URL: " + url); System.out.println("Username: " + username); System.out.println("Password: " + password); } catch (IOException e) { e.printStackTrace(); } } } ``` 以上代码会加载配置文件`config.properties`并读取其的属性值,然后打印出来。运行代码后,输出结果如下: ``` URL: jdbc:mysql://localhost:3306/mydb Username: root Password: 123456 ``` 这样,我们就成功在Java的配置文件添加了属性,并且能够在代码读取和使用这些属性值了。 ### 回答2: 在Java,可以使用配置文件来存储程序的属性和配置信息。常见的配置文件格式包括.properties和.xml等。在配置文件添加属性可以通过以下步骤实现: 1. 创建配置文件:首先,需要创建一个配置文件,可以是.properties格式或者是.xml格式。可以选择一个合适的目录来存储配置文件,比如项目的根目录。 2. 打开配置文件:使用Java的输入输出流操作将配置文件打开,并读取文件内容。 3. 添加属性:根据配置文件的格式,向文件添加属性。对于.properties格式的配置文件,可以使用键值对的方式来添加属性,即key=value的格式。对于.xml格式的配置文件,可以使用标签和属性的方式来添加属性。 4. 保存配置文件:在添加完属性后,需要将修改后的配置内容保存到配置文件。使用Java的输出流操作,将修改后的内容写入到配置文件。 通过以上步骤,就可以实现在配置文件添加属性。在程序可以通过读取配置文件来获取属性值,从而实现程序的灵活配置和更改。配置文件的优点是易于修改和管理,可以避免硬编码带来的问题,并且可以对程序的不同部分进行相应的配置,提高代码的可维护性和扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值