From 1a091588f5d96e0f88b2436fadf057e839c9a5f1 Mon Sep 17 00:00:00 2001 From: lensferno Date: Sat, 12 Mar 2022 17:22:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E8=A1=A5=EF=BC=9Amp3=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=9C=AA=E8=83=BD=E6=AD=A3=E7=A1=AE=E6=92=AD=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dogename/pom.xml | 6 ++++++ .../java/me/lensferno/dogename/voice/VoicePlayer.java | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Dogename/pom.xml b/Dogename/pom.xml index 28c16fd..7a26559 100644 --- a/Dogename/pom.xml +++ b/Dogename/pom.xml @@ -65,6 +65,12 @@ 4.12.0 + + com.googlecode.soundlibs + mp3spi + 1.9.5.4 + + diff --git a/Dogename/src/main/java/me/lensferno/dogename/voice/VoicePlayer.java b/Dogename/src/main/java/me/lensferno/dogename/voice/VoicePlayer.java index 4ddadef..6f8a338 100644 --- a/Dogename/src/main/java/me/lensferno/dogename/voice/VoicePlayer.java +++ b/Dogename/src/main/java/me/lensferno/dogename/voice/VoicePlayer.java @@ -1,5 +1,6 @@ package me.lensferno.dogename.voice; +import javazoom.spi.mpeg.sampled.file.MpegAudioFileReader; import me.lensferno.dogename.configs.VoiceConfig; import me.lensferno.dogename.utils.FilePath; import me.lensferno.dogename.utils.IOUtil; @@ -92,8 +93,13 @@ public class VoicePlayer { private void playSound(File file) { try { - AudioInputStream sourceAudioInputStream = AudioSystem.getAudioInputStream(file); - + AudioInputStream sourceAudioInputStream; + if (voiceConfig.getAudioFormat() == VoiceConfig.AUDIO_FORMAT_WAV) { + sourceAudioInputStream = AudioSystem.getAudioInputStream(file); + } else { + sourceAudioInputStream = new MpegAudioFileReader().getAudioInputStream(file); + } + AudioFormat sourceFormat = sourceAudioInputStream.getFormat(); AudioFormat targetFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, sourceFormat.getSampleRate(), 16, sourceFormat.getChannels(),