Resolved issue with audio cycling between channels every 2 seconds when

audio mixer has stereo channel output.
This commit is contained in:
denny
2015-12-13 09:45:52 -05:00
parent 2bcffa0f44
commit 47f36590fb
4 changed files with 12 additions and 0 deletions

View File

@@ -29,6 +29,7 @@ public class AudioEvent
AUDIO_UNSQUELCHED,
AUDIO_STARTED,
AUDIO_STOPPED,
AUDIO_CONTINUATION,
AUDIO_CONFIGURATION_CHANGE_STARTED,
AUDIO_CONFIGURATION_CHANGE_COMPLETE;
}

View File

@@ -319,6 +319,7 @@ public class AudioManager implements Listener<AudioPacket>, IAudioController
{
case AUDIO_STARTED:
case AUDIO_STOPPED:
case AUDIO_CONTINUATION:
mAudioStoppedTime = System.currentTimeMillis();
break;
default:

View File

@@ -51,6 +51,7 @@ public class MonoAudioOutput extends AudioOutput
private AudioEvent mAudioStartEvent;
private AudioEvent mAudioStopEvent;
private AudioEvent mAudioContinuationEvent;
public MonoAudioOutput( Mixer mixer )
{
@@ -60,6 +61,8 @@ public class MonoAudioOutput extends AudioOutput
getChannelName() );
mAudioStopEvent = new AudioEvent( AudioEvent.Type.AUDIO_STOPPED,
getChannelName() );
mAudioContinuationEvent = new AudioEvent( AudioEvent.Type.AUDIO_CONTINUATION,
getChannelName() );
try
{
@@ -130,6 +133,8 @@ public class MonoAudioOutput extends AudioOutput
if( packets.size() > 0 )
{
broadcast( mAudioContinuationEvent );
for( AudioPacket packet: packets )
{
if( mCanProcessAudio )

View File

@@ -51,6 +51,7 @@ public class StereoAudioOutput extends AudioOutput
private AudioEvent mAudioStartEvent;
private AudioEvent mAudioStopEvent;
private AudioEvent mAudioContinuationEvent;
private MixerChannel mMixerChannel;
@@ -66,6 +67,8 @@ public class StereoAudioOutput extends AudioOutput
getChannelName() );
mAudioStopEvent = new AudioEvent( AudioEvent.Type.AUDIO_STOPPED,
getChannelName() );
mAudioContinuationEvent = new AudioEvent( AudioEvent.Type.AUDIO_CONTINUATION,
getChannelName() );
try
{
@@ -166,6 +169,8 @@ public class StereoAudioOutput extends AudioOutput
if( packets.size() > 0 )
{
broadcast( mAudioContinuationEvent );
for( AudioPacket packet: packets )
{
if( mCanProcessAudio )