2016-10-30 2 views
1

私がボタンに接続されているこの単純なスニペットを持って、それは同時に2つのサウンドを再生するものとされない:意図したとおり、私はボタンを押したときに2つのサウンドを再生するときに停止するサウンドを設定することはできますか?

[testSound1,Fs1] = audioread('testAudio1.wav'); 
sound(testSound1,Fs1); 
[testSound2,Fs2] = audioread('testAudio2.wav'); 
sound(testSound2,Fs2); 

音が演じるが、今、私は希望停止ボタンも実装するのが好きです。問題は、このストップボタンが最初のオーディオを停止させるだけで、もう1つはまだ再生されますが、testAudio1.wavです。私はclear soundを試しましたが、これは両方を停止します。私はstop(this)のようなものが必要です。これは何とかできますか?

大変助かりました!

答えて

1

soundは、デフォルトで信号全体を再生し、クリアは両方同時に停止します。 audioreadを使用しているので、両方の信号に別々にaudioplayerオブジェクトを作成してから、playメソッドを使用していずれかのサウンドを再生します。また、どちらか一方を停止するstopメソッドを使用することができます。

% Set up audioplayers for both sounds 
sound1 = audioplayer(testSound1, Fs1); 
sound2 = audioplayer(testSound2, Fs2); 

% Play the sounds 
play(sound1); 
play(sound2); 

% Do something... 
% ... 
% ... 

% Stop the sounds 
stop(sound1); 
stop(sound2); 

注上記は一例であること。サウンドを再生するには、playメソッドを使用し、サウンドを停止するには、stopメソッドを使用します。あなたのケースでは、最初の音を止めたいだけなので、stop(sound1);で、stop(sound2);ではないだけです。

+1

ご協力いただきありがとうございます。 :) –

+0

@ L.S大歓迎です。がんばろう! – rayryeng