Play 2 wav files after each other

15 visualizaciones (últimos 30 días)
Melanie Unknown
Melanie Unknown el 19 de Feb. de 2020
Comentada: Star Strider el 19 de Feb. de 2020
I am trying to play 2 files after each other.
However, I tried multiple things and it either plays the two files simultaniously or the second file does not get played at all.
This is th ecode I tried:
[y1, Fs1] = audioread('file1.wav'); %this file is 5 seconds long
[y2, Fs2] = audioread('file2.wav'); %this file is 1.6 seconds long
player = audioplayer(y1, Fs1);
player2 = audioplayer(y2, Fs2);
play(player);
pause(2);
play(player2);
Like this they just play simultaniously, without a time difference of 2 seconds.
File2 does not get played 2 seconds later than file1.
Can anyone help me with this?

Respuestas (1)

Star Strider
Star Strider el 19 de Feb. de 2020
Use the playblocking function to get them to play the way you want them.
[y1, Fs1] = audioread('file1.wav'); %this file is 5 seconds long
[y2, Fs2] = audioread('file2.wav'); %this file is 1.6 seconds long
player = audioplayer(y1, Fs1);
player2 = audioplayer(y2, Fs2);
playblocking(player);
playblocking(player2);
  2 comentarios
Melanie Unknown
Melanie Unknown el 19 de Feb. de 2020
thank you so much, that helped me play them right after each other, but without the 2 second delay I wanted.
Do you know how to implement that?
The pause function does not seam to work for this (as it keeps telling me: Index exceeds matrix dimensions)
Star Strider
Star Strider el 19 de Feb. de 2020
My pleasure.
You did not mention the 2 second delay. I thought you were pausing after the first one to let it finish, and not allowing enough time.
Try this:
playblocking(player);
pause(2)
playblocking(player2);
That worked when I ran it.

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by