Android: Counter-Strike 1.6 SoundBoard released
A soundboard is a very simple application to make, and I was given the idea to make a counter-strike 1.6 version by a friend. It seemed like a good idea as no one had made one yet, and it’s quite hard to find something that hasn’t already been done before.
counter-strike 1.6 soundboard
The buttons are aligned in a grid view, with the buttons made transparent so that the background can be seen.

screenshot of counter-strike 1.6 soundboard

screenshot of counter-strike 1.6 soundboard
I am very pleased with the final look of the app, however it was getting poor reviews due to people wanting to save the sounds for use as a ringtone. To alleviate this problem I have updated the app to have this option as a context menu avaliable by long pressing on a button. This will then save the file on the sd card and update the mediastore to tell android a new ringtone and notification has been added.
The code to load a ringtone into android from an application is shown below. If you see any problems with this code, or have an improvements please let me know!
File k = new File(path, filename); ContentValues values = new ContentValues(); values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath()); values.put(MediaStore.MediaColumns.TITLE, filesnames[pos]); values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/wav"); values.put(MediaStore.Audio.Media.ARTIST, "cssounds "); values.put(MediaStore.Audio.Media.IS_RINGTONE, true); values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true); values.put(MediaStore.Audio.Media.IS_ALARM, true); values.put(MediaStore.Audio.Media.IS_MUSIC, false); //Insert it into the database this.getContentResolver().insert(MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath()), values);
Ratings, reviews, feedback and feature requests are most welcome.
Android Market Link (For android phones)


Hello Mat,
I have been admiring your soundboard app and wondering just how you got the context menu, etc set up to allow the saving of tones. I am working on an idea for an app of my own and cannot get it to work. There is not enough src in your post for me to figure out what should be done beforehand. Could I see the src for the entire class?
Any help would be greatly appreciated
Thanks,
-Jason
Jason,
Thanks. I created the buttons dynamically and added them to a gridview. For each of them I use “registerForContextMenu(btn);” then I added the options to the context menu
@Override public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.setHeaderTitle("Ringtone Actions"); menu.add(0, v.getId(), 0, "Save as Ringtone"); }And then set the even to occur on the selection of this context menu.
@Override public boolean onContextItemSelected(MenuItem item) { int x = item.getItemId(); saveas(x); return true; }That should probably be enough code to explain it? I might post a short tutorial on it as I would probably do a better job of explaining it then. Hope this helps.
Mat
Excellent! I had actually figured that piece out just before reading this post
For the resource > ringtone part, did you write to the sdcard before setting the ringtone or is there a way to inject the tone straight in?
I am trying to figure out that entire process right now…
Thanks for your reply
-Jason
I figured it all out!
Thanks again for your tips along the way
-Jason
Yes, I saved it to the SD card also.
I placed it in /sdcard/media/audio/ringtones/
Glad you got it working, let me know when your app is out so I can try it.
I am having trouble getting this working… How does the app know what file it is copying from? I am looking to copy from a package .wav in my raw file.
Any ideas or more code you could share?
@steve, @jason posted an example which is more complete showing how to save the file and then register as a ringtone:
http://www.stealthcopter.com/blog/2010/01/android-saving-a-sound-file-to-sd-from-resource-and-setting-as-ringtone/
I’m making a sound board for a game. I liked how you had your buttons. I wanted users to see my background so i set the button transparencies to ’0′, but how did you get the look of yours? Did you use a drawable source?
I created an xml file for the button which uses png images with transparency, I don’t think you need to set anything special for the button then. Let me know if you need an example and I’ll whip something up for you. Also let me know when you release your app and I’ll have a play with it
I acturally figured how to do it.. thank you though.. my main issue is trying to set up the option to let users save as ringtones and such.. main problem is my buttons get created from an adapter..
acturally the first version of the app is out there, its a Call of Duty MW2 soundboard…
Yes, my buttons are setup in the same manner. I’m planning a writing brief tutorial on it, but I have lots of work at the moment. I will check out your app shortly!
@mat
ya I’m working to re-do the current app with an update, it’s changed alot since that one was published…
so where about did u involve the ringtone? I tried to work with it in the button adapter but seems it only wants to work when its extended from Activity…
I used “class ButtonAdapter extends BaseAdapter” which then calls a custom OnClickListener “class MyOnClickListener implements OnClickListener”. Then using this custom OnClickListener to call my ringtone function.
think you should put up a full soundboard tutorial LOL
just updated the app if you still wanted to check it out.. thanks
Yeah, I checked it out the tabs are nice, the button gets horribly pixelated on the last two tabs as they only contain on item though. You make much from the adverts?
eh.. not a great deal… lol…
i almost have my ringtone/notifications working.. but when i long click it force closes.. dang im soo close LOL
mat I have been looking at all of the code to get save to ringtone and notifications working and I can only get the context menu working… could you please email me so I can ask you a few questions??? I would really appreciate that sooo much!!
lol thts cool app
great work. em big fan of Counter Strike
Hi again @mat!
I’m here to make you one more question. I finished my Android project, but Now I’m working improving it in Design and programatically correct.
I would like to know if you could send me the buttons you did for your scoreboard, or, how can I create them, because I have download a transparent button from google, and when I open it with draw9patch i can’t do anything :S
If you don’t want to give me your images I will understand. In that case, could you tell me the measure (width and high) of the buttons ? (for normal view and landscape view too…)
Thank you so much guy! gl!
This is an awesome article regarding the soundboard…Why didn’t anyone think of this before. I also found this great software download where you can get Counterstrike for free,
http://www.200sharewarelinks.com/Windows/Games-Entertainment/Strategy-War-Games/CounterStrike_92.html
Enjoy guys!
This line:
values.put(MediaStore.MediaColumns.TITLE, filesnames[pos]);
Where is filesname[pos] pulling from? Some type of array I know. This is one of the last steps in the process to get my soundboard working.
Just an array of strings corresponding to the array of sound files I was using.
You’re so cool! I don’t think I’ve read anything like that before. So nice to discover somebody with a few genuine thoughts on this subject matter. Seriously.. thanks for starting this up. This site is something that is required on the web, someone with a bit of originality!