Java 读取本地 WMA 音频文件并播放:教程和解决方案

要读取并播放 WMA 格式的音频文件,您可以使用 JAVE(Java Audio Video Encoder)库。以下是使用 JAVE 库的示例代码:\n\n首先,您需要在您的项目的 pom.xml 文件中添加以下依赖项:\n\nxml\n<dependency>\n <groupId>ws.schild</groupId>\n <artifactId>jave</artifactId>\n <version>1.0.2</version>\n</dependency>\n\n\n然后,您可以使用以下代码读取并播放 WMA 文件:\n\njava\nimport ws.schild.jave.*;\n\nimport javax.sound.sampled.*;\nimport java.io.File;\n\npublic class WMAPlayer {\n\n public static void main(String[] args) {\n File inputFile = new File("D:/new_audio/2-2-46_1688715928595.wma");\n\n try {\n File outputFile = File.createTempFile("temp", ".wav");\n AudioAttributes audioAttributes = new AudioAttributes();\n audioAttributes.setCodec("pcm_s16le");\n audioAttributes.setBitRate(128000);\n audioAttributes.setChannels(2);\n audioAttributes.setSamplingRate(44100);\n EncodingAttributes encodingAttributes = new EncodingAttributes();\n encodingAttributes.setInputFormat("asf");\n encodingAttributes.setOutputFormat("wav");\n encodingAttributes.setAudioAttributes(audioAttributes);\n\n Encoder encoder = new Encoder();\n encoder.encode(new MultimediaObject(inputFile), outputFile, encodingAttributes);\n\n AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(outputFile);\n\n Clip clip = AudioSystem.getClip();\n clip.open(audioInputStream);\n clip.start();\n\n Thread.sleep(clip.getMicrosecondLength() / 1000);\n clip.close();\n\n audioInputStream.close();\n outputFile.delete();\n } catch (Exception e) {\n e.printStackTrace();\n }\n }\n}\n\n\n该代码将首先使用 JAVE 库将 WMA 文件转换为 WAV 文件,然后使用 Java 的 AudioSystemClip 类播放 WAV 文件。请确保您已经安装了支持 WMA 格式的音频解码器。\n\n解决 javax.sound.sampled.UnsupportedAudioFileException 错误:\n该错误通常表示您的系统缺少支持 WMA 格式的音频解码器。您需要安装合适的解码器才能播放 WMA 文件。\n\n解决 Unresolved dependency: 'ws.schild:jave:jar:1.0.2' 错误:\n该错误表示您的项目无法找到 JAVE 库。您需要在您的项目的 pom.xml 文件中添加 JAVE 库的依赖项,如上面所示。\n\n安装支持 WMA 格式的音频解码器:\n\n您可以在以下网站找到支持 WMA 格式的音频解码器:\n* K-Lite Codec Pack: https://www.codecguide.com/download_k-lite_codec_pack.htm\n* FFmpeg: https://ffmpeg.org/\n\n安装这些解码器后,您应该能够使用提供的 Java 代码播放 WMA 文件。

标签: 常规


原文地址: https://gggwd.com/t/topic/p1Cc 著作权归作者所有。请勿转载和采集!