Sign in to follow this  
tom_mai78101

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

Recommended Posts

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 [b]not [/b]use [code]load(String path, int priority)[/code]. 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):

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

[code]

//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);

[/code]

[font=courier new,courier,monospace][color=#0000FF]sounds[/color][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.

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

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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this