Allow timed metadata to compile on older SDKs

This commit is contained in:
Hampton Maxwell 2018-06-25 14:25:12 -07:00 committed by GitHub
parent aa89683785
commit 70d863e3d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -37,7 +37,6 @@ public class ReactVideoView extends ScalableVideoView implements
MediaPlayer.OnPreparedListener,
MediaPlayer.OnErrorListener,
MediaPlayer.OnBufferingUpdateListener,
MediaPlayer.OnTimedMetaDataAvailableListener,
MediaPlayer.OnCompletionListener,
MediaPlayer.OnInfoListener,
LifecycleEventListener,
@ -197,8 +196,10 @@ public class ReactVideoView extends ScalableVideoView implements
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnTimedMetaDataAvailableListener(this);
mMediaPlayer.setOnInfoListener(this);
if (Build.VERSION.SDK_INT >= 23) {
mMediaPlayer.setOnTimedMetaDataAvailableListener(new TimedMetaDataAvailableListener());
}
}
}
@ -552,7 +553,11 @@ public class ReactVideoView extends ScalableVideoView implements
mEventEmitter.receiveEvent(getId(), Events.EVENT_END.toString(), null);
}
@Override
// This is not fully tested and does not work for all forms of timed metadata
@TargetApi(23) // 6.0
public class TimedMetaDataAvailableListener
implements MediaPlayer.OnTimedMetaDataAvailableListener
{
public void onTimedMetaDataAvailable(MediaPlayer mp, TimedMetaData data) {
WritableMap event = Arguments.createMap();
@ -575,6 +580,7 @@ public class ReactVideoView extends ScalableVideoView implements
mEventEmitter.receiveEvent(getId(), Events.EVENT_TIMED_METADATA.toString(), event);
}
}
@Override
protected void onDetachedFromWindow() {