How do I control the audio volume when using AUDIOPLAYER in MATLAB?

I am using AUDIOPLAYER function to play an audio file and would like to control the audio volume.

 Accepted Answer

A function to control audio volume directly is not available as of MATLAB R2015a.
As a workaround, you can modify the value of the signal data to control volume. Please see the code below for an example:
load handel; % 'handel' is a MAT-file which is shipped with MATLAB as an examplex = y/5; % Decrease volumeplayer = audioplayer(x, Fs);
play(player,[1 (get(player, 'SampleRate')*3)]);
x = y*5; % Increase volumeplayer = audioplayer(x, Fs); ​
play(player,[1 (get(player, 'SampleRate')*3)]);
As an additional workaround, you might try using the File Exchange submission called "SoundVolume", which sets or gets the computer system's speaker sound volume using Java. This submission can be found at the following link:
 

More Answers (1)

1 Comment

Farhan Hussain, are you saying that if you use Yair's routine while audioplayer's play() method is in the middle of playing a file, that audioplayer goes back to the beginning of the file?

Sign in to comment.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!