[Solved] SoundPool Broken Method: load(String path, int priority)

Started by
1 comment, last by tom_mai78101 11 years, 7 months ago
I have some sources that may not be able to prove the method, "load(String path, int priority)" can work.

So far, I have come across many sources that recommend others to not use load(String path, int priority). Not, I say, not. If you want the list of all the sources, feel me to PM me, and I'll give you at least 8 of them.

I do see some benefits (easy to do, less hassle, etc.), but I'm not satisfied. It's my curiosity that piped me, in ensuring the above method mentioned really does work, as defined in the Android Developers Documentation.

Here's what I have worked out so far (My research):

--------------------------------



//These will not load. Gives error:
/* error loading <string goes here> */
/* 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);



[font=courier new,courier,monospace][color=#0000FF]sounds[font=arial,helvetica,sans-serif] is a SoundPool variable initialized in the onResume(). All of these methods are placed in a [font=courier new,courier,monospace]setOnClickListener.onClick(View v)[/font] wrapped/set for a [font=courier new,courier,monospace]Button[/font] object in the R.layout.main.[/font][/font]

[font=courier new,courier,monospace]test.wav [/font]is a WAV file placed directly in the /assets folder in an Android project. The Android project is generated by Eclipse by default. Nothing else was edited/changed.


--------------------------------

So, of course, I sat in my seat for how long it had been, pondering such a question. I decided, why not share my findings with you all, as it does not harm anybody at all? And here we are, and me initiating a challenge to all.

Who knows how to correctly use [font=courier new,courier,monospace]Soundpool.load(String path, int priority)[/font] method?

[size=1]I hope to see a few "Challenge Accepted" posts below. I know it's bad, but I like having fun...
Advertisement
Update:

It's possible that the [font=courier new,courier,monospace]path[/font] in the method [font=courier new,courier,monospace]load(String path, int priority)[/font] 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 [font=courier new,courier,monospace]path[/font] 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.
Update 2:

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.

This topic is closed to new replies.

Advertisement