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

104 views (last 30 days)
I am using AUDIOPLAYER function to play an audio file and would like to control the audio volume.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 15 May 2023
Edited: MathWorks Support Team on 15 May 2023
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)

Jan
Jan on 11 Mar 2016
Edited: MathWorks Support Team on 15 May 2023
  1 Comment
Walter Roberson
Walter Roberson on 10 Jan 2017
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!