Volume control with script may be sloppier and require more work than you will likely want, especially if you do not know javascript. For sure, if you are doing widget.executeActions() to send IR codes repeatedly, it will be choppier.
Please post the IR code data you are using (assuming you learned the codes) or the actual component in the database that you use for your Activity.