java写一个方法实现读取本地音频文件文件在电脑本地Dnew_audio2-2-46_1688715928595wma并播放在哪安装支持WMA格式的音频解码器给出具体的maven报错javaxsoundsampledUnsupportedAudioFileException File of unsupported formatUnresolved dependency wsschildjaveja
要读取并播放WMA格式的音频文件,您可以使用JAVE(Java Audio Video Encoder)库。以下是使用JAVE库的示例代码:
首先,您需要在您的项目的pom.xml文件中添加以下依赖项:
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave</artifactId>
<version>1.0.2</version>
</dependency>
然后,您可以使用以下代码读取并播放WMA文件:
import ws.schild.jave.*;
import javax.sound.sampled.*;
import java.io.File;
public class WMAPlayer {
public static void main(String[] args) {
File inputFile = new File("D:/new_audio/2-2-46_1688715928595.wma");
try {
File outputFile = File.createTempFile("temp", ".wav");
AudioAttributes audioAttributes = new AudioAttributes();
audioAttributes.setCodec("pcm_s16le");
audioAttributes.setBitRate(128000);
audioAttributes.setChannels(2);
audioAttributes.setSamplingRate(44100);
EncodingAttributes encodingAttributes = new EncodingAttributes();
encodingAttributes.setInputFormat("asf");
encodingAttributes.setOutputFormat("wav");
encodingAttributes.setAudioAttributes(audioAttributes);
Encoder encoder = new Encoder();
encoder.encode(new MultimediaObject(inputFile), outputFile, encodingAttributes);
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(outputFile);
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();
Thread.sleep(clip.getMicrosecondLength() / 1000);
clip.close();
audioInputStream.close();
outputFile.delete();
} catch (Exception e) {
e.printStackTrace();
}
}
}
该代码将首先使用JAVE库将WMA文件转换为WAV文件,然后使用Java的AudioSystem和Clip类播放WAV文件。请确保您已经安装了支持WMA格式的音频解码器
原文地址: https://www.cveoy.top/t/topic/ijsS 著作权归作者所有。请勿转载和采集!