File tree Expand file tree Collapse file tree 5 files changed +28
-7
lines changed
Expand file tree Collapse file tree 5 files changed +28
-7
lines changed Original file line number Diff line number Diff line change 1919}
2020
2121ext {
22- mindustryVersion = ' v152.2 '
22+ mindustryVersion = ' v154.3 '
2323 jabelVersion = " 93fde537c7"
2424 // windows sucks
2525 isWindows = System . getProperty(" os.name" ). toLowerCase(). contains(" windows" )
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ name: "LemmeSay"
33author: "NgLam2911"
44main: "lemmesay.LemmeSay"
55description: "Mindustry voice chat mod."
6- version: 1.0-dev6
7- minGameVersion: 152
6+ version: 1.0-dev7
7+ minGameVersion: 154
88java: true
99hidden: true
Original file line number Diff line number Diff line change 22
33import arc .Events ;
44import arc .util .CommandHandler ;
5+ import arc .util .Log ;
56import lemmesay .net .packet .VCPackets ;
67import mindustry .game .EventType ;
78import mindustry .gen .PingCallPacket ;
@@ -17,6 +18,12 @@ public LemmeSay() {
1718
1819 @ Override
1920 public void init () {
21+ try {
22+ Class .forName ("javax.sound.sampled.AudioSystem" );
23+ } catch (ClassNotFoundException e ) {
24+ Log .err ("JavaX Sound API not found. Please try to run the game/server with other JRE/JDK that includes JavaX Sound API." );
25+ return ;
26+ }
2027 this .registerEvents ();
2128 }
2229
Original file line number Diff line number Diff line change @@ -20,13 +20,16 @@ public void run() {
2020 if (!Vars .net .client ()) {
2121 Log .info ("Voice chat disconnected, stopping microphone capture." );
2222 mic .close ();
23+ VoiceProcessing .getInstance ().close ();
24+ Log .info ("Voice processing resources released." );
2325 break ;
2426 }
25- short [] audioData = mic .read ();
26- // I will never write code like this again
27- VoiceProcessing .getInstance ().handleAudio (audioData );
2827 try {
28+ short [] audioData = mic .read ();
29+ VoiceProcessing .getInstance ().handleAudio (audioData );
2930 Thread .sleep (20 );
31+ } catch (IllegalStateException e ) {
32+ Log .warn ("Failed to read from microphone: " + e .getMessage ());
3033 } catch (InterruptedException e ) {
3134 Thread .currentThread ().interrupt ();
3235 mic .close ();
Original file line number Diff line number Diff line change @@ -52,6 +52,17 @@ public void handleAudio(short[] audioData) {
5252 public void handleMicPacket (MicPacket packet ) {
5353 var data = packet .audioData ;
5454 short [] decodedData = decoder .decode (data );
55- speaker .play (decodedData , 80 );
55+ speaker .play (decodedData , 100 );
56+ }
57+
58+ public void close () {
59+ try {
60+ denoiser .close ();
61+ encoder .close ();
62+ decoder .close ();
63+ speaker .close ();
64+ } catch (Exception e ) {
65+ Log .err (e );
66+ }
5667 }
5768}
You can’t perform that action at this time.
0 commit comments