@@ -167,6 +167,9 @@ private void EvalOptions()
167
167
// Store the current sequence
168
168
int temp = _currentSequence ;
169
169
170
+ // Before we can try to set the next media node, we need to stop any currently running Audio
171
+ StopAudio ( ) ;
172
+
170
173
// Set the next media node for this panel
171
174
if ( ! SetNextMediaNodeInOptions ( ) )
172
175
{
@@ -662,7 +665,7 @@ void audio_DurationElapsedEvent(int filesPlayed)
662
665
{
663
666
try
664
667
{
665
- StopMedia ( _options . Audio [ _audioSequence - 1 ] , true ) ;
668
+ StopMedia ( _options . Audio [ _audioSequence - 1 ] ) ;
666
669
}
667
670
catch ( Exception ex )
668
671
{
@@ -678,14 +681,6 @@ void audio_DurationElapsedEvent(int filesPlayed)
678
681
/// </summary>
679
682
/// <param name="media"></param>
680
683
private void StopMedia ( Media media )
681
- {
682
- StopMedia ( media , false ) ;
683
- }
684
-
685
- /// <summary>
686
- /// Stop the provided media
687
- /// </summary>
688
- private void StopMedia ( Media media , bool audio )
689
684
{
690
685
Trace . WriteLine ( new LogMessage ( "Region - Stop Media" , "Stopping media" ) , LogType . Audit . ToString ( ) ) ;
691
686
@@ -705,13 +700,19 @@ private void StopMedia(Media media, bool audio)
705
700
{
706
701
Trace . WriteLine ( new LogMessage ( "Region - Stop Media" , "Unable to dispose. Ex = " + ex . Message ) , LogType . Audit . ToString ( ) ) ;
707
702
}
703
+ }
708
704
709
- // Stop any associated audio
710
- if ( ! audio && _options . Audio . Count >= _audioSequence )
705
+ /// <summary>
706
+ /// Stop Audio
707
+ /// </summary>
708
+ private void StopAudio ( )
709
+ {
710
+ // Stop the currently playing audio (if there is any)
711
+ if ( _options . Audio . Count > 0 )
711
712
{
712
713
try
713
714
{
714
- StopMedia ( _options . Audio [ _audioSequence - 1 ] , true ) ;
715
+ StopMedia ( _options . Audio [ _audioSequence - 1 ] ) ;
715
716
}
716
717
catch ( Exception ex )
717
718
{
@@ -794,6 +795,9 @@ public void Clear()
794
795
{
795
796
try
796
797
{
798
+ // Stop Audio
799
+ StopAudio ( ) ;
800
+
797
801
// Stop the current media item
798
802
if ( _media != null )
799
803
StopMedia ( _media ) ;
0 commit comments