Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (499)
Games in Android Showcase (118)
games submitted by our members
Games in WIP (567)
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  
  Possible SoundPool broken method: load(String path, int priority)  (Read 2921 times)
0 Members and 1 Guest are viewing this topic.
Offline tom_mai78101
« Posted 2012-09-14 09:59:37 »

I think this will never garner enough support by anyone who wishes to delve themselves deeper into such mystery.

All of you probably knew by now, how unstable and how unreliable SoundPool class is. Some people manage to make it work, while others rage-quit themselves after tackling the problem many times.

One of methods in SoundPool grabbed my attention, and it's this method:
1  
load(String path, int priority)


Some sources in Stack Overflow suggests that method should not be used at all, and instead recommends other load() methods. There are no solutions to using the aforementioned code. This is a mystery. There is 1 source I found earlier (but can't find it again) that suggests the path parameter may stands for the path directory to an audio file located on the SD card, or in the external storage in some Android phones. I don't have the knowledge to prove it, so I can't tell.

Here's my research, and wished others may help find a better solution to this:
 
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
//These will not load. Gives error:         
/*     error loading <[i]string goes here[/i]> */        
/*     sample 0 NOT ready                      */              
sounds.play(sounds.load("assets/test", 1), 1f, 1f, 1, 0, 1f);        
sounds.play(sounds.load("/assets/test", 1), 1f, 1f, 1, 0, 1f);        
sounds.play(sounds.load("assets/test.wav", 1), 1f, 1f, 1, 0, 1f);        
sounds.play(sounds.load("/assets/test.wav", 1), 1f, 1f, 1, 0, 1f);

/*sounds is a SoundPool variable initialized in the onResume(). All of these methods are placed in a
setOnClickListener.onClick(View v) wrapped/set for a Button object in the R.layout.main.*/


Feel free to share your findings.  Stare

EDIT: Just to clarify, I am able to successfully use SoundPool to play sounds. I do not have any problems with the following methods:
1  
2  
3  
4  
//All of these load correctly. It can be played from my phone.
load(Context context, int resId, int priority);
load(FileDescriptor fd, long offset, long length, int priority);
load(AssetFileDescriptor afd, int priority);

The only load() method that is unable to work is the load(String path, int priority) method.
Offline tom_mai78101
« Reply #1 - Posted 2012-09-22 03:19:44 »

All of these below are basically my hunch. I have still not confirmed that the method described works as intented. Again, please feel free to correct me and help out on this research. Cheesy



It's possible that the path in the method load(String path, int priority) stands for the path to an audio file located on the SD card. Am I correct?
 
I do not know. Nor do I know anything that says the path is for the entire path directory to the audio file in the SD file, by the Documentation. It doesn't say, and probably nobody cares about it.

I think it's confirmed that the "path" may or may not stands for the directory to the SD card on the Android phone. To fetch a more reliable directory (a starting point, like C:\> in cmd.exe of Windows variants), use helper methods, such as "Environment.getExternalStorageDirectory()".
 
path may have different starting points in different devices, even if the devices in question is not a tablet, nor a phone. It could me /mnt/sda5, /mnt/card, etc. It is declared by the manufacturer what the Environment variables are.
 
This is also a good way to learn more things while doing research. For now...
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Pippogeek (39 views)
2014-09-24 16:13:29

Pippogeek (30 views)
2014-09-24 16:12:22

Pippogeek (19 views)
2014-09-24 16:12:06

Grunnt (45 views)
2014-09-23 14:38:19

radar3301 (28 views)
2014-09-21 23:33:17

BurntPizza (63 views)
2014-09-21 02:42:18

BurntPizza (33 views)
2014-09-21 01:30:30

moogie (41 views)
2014-09-21 00:26:15

UprightPath (50 views)
2014-09-20 20:14:06

BurntPizza (54 views)
2014-09-19 03:14:18
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
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!