Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (686)
Games in Android Showcase (198)
games submitted by our members
Games in WIP (758)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  SlickUtil Sound changing gain doesn't change volume level  (Read 828 times)
0 Members and 1 Guest are viewing this topic.
Offline trollwarrior1
« Posted 2013-11-28 08:09:07 »

So here is the code:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
public class Song {

   public static Song song = new Song("/sounds/song1.ogg");
   
   private String file;
   private Audio audio;
   
   public Song(String file) {
      this.file = file;
     
      try {
         audio = AudioLoader.getAudio("OGG", Song.class.getResourceAsStream(file));
         
         audio.playAsMusic(1, 0.1f, false);
         
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
   
   public void changeGain(float gain) {
      float pos = this.audio.getPosition();
      audio.stop();
      audio.playAsMusic(1, gain, false);
      audio.setPosition(pos);
   }
   
}


It doesn't matter what kind of gain I put in, it always plays as it was 1f.

PS

How can I stop SlickUtil from posting messages? Is there something like  "setMessagePosting(boolean bool)" ?
Offline trollwarrior1
« Reply #1 - Posted 2013-11-28 09:09:30 »

I changed play method from "playAsMusic" to "playAsSoundEffect".
I don't know if there is a difference in memory usage or something like that, but that seemed to fix my issue.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
public class Song {

   public static Song song = new Song("/sounds/song1.ogg");
   
   private String file;
   private Audio audio;
   
   public Song(String file) {
      this.file = file;
     
      try {
         audio = AudioLoader.getAudio("OGG", Song.class.getResourceAsStream(file));
         
         audio.playAsSoundEffect(1, 0.1f, false); // changed this line
         
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
   
   public void changeGain(float gain) {
      float pos = this.audio.getPosition();
      audio.stop();
      audio.playAsSoundEffect(1, gain, false); // changed this line
      audio.setPosition(pos);
   }
   
}
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 
roseslayer (543 views)
2016-08-06 11:43:29

roseslayer (498 views)
2016-08-06 09:43:11

xTheGamerCodes (572 views)
2016-08-04 15:40:59

xTheGamerCodes (567 views)
2016-08-04 15:40:24

orrenravid (912 views)
2016-07-16 03:57:23

theagentd (989 views)
2016-07-11 14:28:54

Hydroque (1087 views)
2016-07-06 05:56:57

Hydroque (1056 views)
2016-07-03 08:52:54

GrandCastle (872 views)
2016-07-01 09:13:47

GrandCastle (645 views)
2016-07-01 09:09:45
Rendering resources
by Roquen
2016-08-08 05:55:21

Rendering resources
by Roquen
2016-08-08 05:52:42

Rendering resources
by Roquen
2016-08-08 05:50:38

Rendering resources
by Roquen
2016-08-08 05:49:53

Rendering resources
by Roquen
2016-08-08 05:32:39

Making a Dynamic Plugin System
by Hydroque
2016-06-25 00:13:25

Java Data structures
by BinaryMonkL
2016-06-13 21:22:09

Java Data structures
by BinaryMonkL
2016-06-13 21:20:42
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!