Ältere Kommentare anzeigen
I made GUI in matlab to play .wav. But I have problem, at callback fcn. I put that code
[y,Fs] = wavread('signalExp01-22KHz.wav');
player=audioplayer(y,Fs);
play(player)
but that`s not work.
But I change like this
[y,Fs] = wavread('signalExp01-22KHz.wav');
sound(y,Fs);
that`s work. But I can`t stop music during playing.
3 Kommentare
Walter Roberson
am 17 Okt. 2011
What happened when you attempted to use audioplayer ?
Mr Smart
am 18 Okt. 2011
Daniel Shub
am 18 Okt. 2011
How are your planning on stopping the audioplayer? Have you implemented this yet? My guess is that you haven't. I think when you save the handle player so that your can stop the music, you will find that your current function will begin to work. See my answer about variable scope.
Akzeptierte Antwort
Weitere Antworten (1)
Jan
am 22 Okt. 2011
You can store the AudioPlayer object persistently:
function MyBeep
persistent AP
Play_Data = [sin(1:.6:400), sin(1:.7:400), sin(1:.4:400)]);
AP = audioplayer(Play_Data(:), 22050);
play(AP);
This does not block the execution and allows to stop the sound remotely - with implementing further logic in form of inputs. Drawback: This produces a crashdump when the Matlab session is closed in Matlab 6.5 and 2011b, although there is no problem in e.g. 2009a.
I've tried to use the callback of the AudioPlayer's StopFcn to delete the object after playing, but this let MATLAB crash also. I've reported this to the technical support already.
Kategorien
Mehr zu Audio and Video Data finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!