Skip to content

Commit 15ef5aa

Browse files
committed
Change playing event
1 parent 012c56e commit 15ef5aa

File tree

7 files changed

+40
-37
lines changed

7 files changed

+40
-37
lines changed

MediaManager/Platforms/Android/Player/AndroidMediaPlayer.cs

+6-9
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,6 @@ public override void UpdateVideoPlaceholder(object value)
138138

139139
protected int lastWindowIndex = -1;
140140

141-
public override event BeforePlayingEventHandler BeforePlaying;
142-
public override event AfterPlayingEventHandler AfterPlaying;
143-
144141
protected virtual void Initialize()
145142
{
146143
if (RequestHeaders?.Count > 0 && RequestHeaders.TryGetValue("User-Agent", out var userAgent))
@@ -184,11 +181,11 @@ protected virtual void Initialize()
184181
},
185182
OnTracksChangedImpl = (trackGroups, trackSelections) =>
186183
{
187-
BeforePlaying?.Invoke(this, new MediaPlayerEventArgs(MediaManager.Queue.Current, this));
184+
InvokeBeforePlaying(this, new MediaPlayerEventArgs(MediaManager.Queue.Current, this));
188185

189186
MediaManager.Queue.CurrentIndex = Player.CurrentWindowIndex;
190187

191-
AfterPlaying?.Invoke(this, new MediaPlayerEventArgs(MediaManager.Queue.Current, this));
188+
InvokeAfterPlaying(this, new MediaPlayerEventArgs(MediaManager.Queue.Current, this));
192189
},
193190
OnPlayerStateChangedImpl = (bool playWhenReady, int playbackState) =>
194191
{
@@ -295,14 +292,14 @@ public virtual void ConnectMediaSession()
295292

296293
public override async Task Play(IMediaItem mediaItem)
297294
{
298-
BeforePlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
295+
InvokeBeforePlaying(this, new MediaPlayerEventArgs(mediaItem, this));
299296
await Play(mediaItem.ToMediaSource());
300-
AfterPlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
297+
InvokeAfterPlaying(this, new MediaPlayerEventArgs(mediaItem, this));
301298
}
302299

303300
public override async Task Play(IMediaItem mediaItem, TimeSpan startAt, TimeSpan? stopAt = null)
304301
{
305-
BeforePlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
302+
InvokeBeforePlaying(this, new MediaPlayerEventArgs(mediaItem, this));
306303

307304

308305
var mediaSource = stopAt.HasValue ? mediaItem.ToClippingMediaSource(stopAt.Value) : mediaItem.ToMediaSource();
@@ -315,7 +312,7 @@ public override async Task Play(IMediaItem mediaItem, TimeSpan startAt, TimeSpan
315312

316313
await Play();
317314

318-
AfterPlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
315+
InvokeAfterPlaying(this, new MediaPlayerEventArgs(mediaItem, this));
319316
}
320317

321318
public virtual async Task Play(IMediaSource mediaSource)

MediaManager/Platforms/Apple/Player/AppleMediaPlayer.cs

+5-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using System.Linq;
44
using System.Threading.Tasks;
@@ -52,9 +52,6 @@ public AVQueuePlayer Player
5252
private IDisposable presentationSizeToken;
5353
private IDisposable timedMetaDataToken;
5454

55-
public override event BeforePlayingEventHandler BeforePlaying;
56-
public override event AfterPlayingEventHandler AfterPlaying;
57-
5855
protected virtual void Initialize()
5956
{
6057
Player = new AVQueuePlayer();
@@ -194,14 +191,14 @@ public override Task Pause()
194191

195192
public override async Task Play(IMediaItem mediaItem)
196193
{
197-
BeforePlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
194+
InvokeBeforePlaying(this, new MediaPlayerEventArgs(mediaItem, this));
198195
await Play(mediaItem.ToAVPlayerItem());
199-
AfterPlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
196+
InvokeAfterPlaying(this, new MediaPlayerEventArgs(mediaItem, this));
200197
}
201198

202199
public override async Task Play(IMediaItem mediaItem, TimeSpan startAt, TimeSpan? stopAt = null)
203200
{
204-
BeforePlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
201+
InvokeBeforePlaying(this, new MediaPlayerEventArgs(mediaItem, this));
205202

206203
if (stopAt is TimeSpan endTime)
207204
{
@@ -218,7 +215,7 @@ public override async Task Play(IMediaItem mediaItem, TimeSpan startAt, TimeSpan
218215
if (startAt != TimeSpan.Zero)
219216
await SeekTo(startAt);
220217

221-
AfterPlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
218+
InvokeAfterPlaying(this, new MediaPlayerEventArgs(mediaItem, this));
222219
}
223220

224221
protected virtual async void OnPlayerBoundaryReached()

MediaManager/Platforms/Tizen/Player/TizenMediaPlayer.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,14 @@ public override Task Pause()
100100

101101
public override async Task Play(IMediaItem mediaItem)
102102
{
103-
BeforePlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
103+
InvokeBeforePlaying(this, new MediaPlayerEventArgs(mediaItem, this));
104104
await Play(mediaItem.ToMediaSource());
105-
AfterPlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
105+
InvokeAfterPlaying(this, new MediaPlayerEventArgs(mediaItem, this));
106106
}
107107

108108
public override async Task Play(IMediaItem mediaItem, TimeSpan startAt, TimeSpan? stopAt = null)
109109
{
110-
BeforePlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
110+
InvokeBeforePlaying(this, new MediaPlayerEventArgs(mediaItem, this));
111111

112112
//TODO: Implement stopAt
113113

@@ -116,7 +116,7 @@ public override async Task Play(IMediaItem mediaItem, TimeSpan startAt, TimeSpan
116116
if (startAt != TimeSpan.Zero)
117117
await SeekTo(startAt);
118118

119-
AfterPlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
119+
InvokeAfterPlaying(this, new MediaPlayerEventArgs(mediaItem, this));
120120
}
121121

122122
public virtual async Task Play(MediaSource mediaSource)

MediaManager/Platforms/Uap/Player/WindowsMediaPlayer.cs

+4-7
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,6 @@ public MediaPlayer Player
5050
set => SetProperty(ref _player, value);
5151
}
5252

53-
public override event BeforePlayingEventHandler BeforePlaying;
54-
public override event AfterPlayingEventHandler AfterPlaying;
55-
5653
private MediaPlaybackList _mediaPlaybackList;
5754
public MediaPlaybackList MediaPlaybackList
5855
{
@@ -173,7 +170,7 @@ public override Task Pause()
173170

174171
public override async Task Play(IMediaItem mediaItem)
175172
{
176-
BeforePlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
173+
InvokeBeforePlaying(this, new MediaPlayerEventArgs(mediaItem, this));
177174

178175
MediaPlaybackList.Items.Clear();
179176

@@ -188,12 +185,12 @@ public override async Task Play(IMediaItem mediaItem)
188185
}
189186
await Play(MediaPlaybackList);
190187

191-
AfterPlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
188+
InvokeAfterPlaying(this, new MediaPlayerEventArgs(mediaItem, this));
192189
}
193190

194191
public override async Task Play(IMediaItem mediaItem, TimeSpan startAt, TimeSpan? stopAt = null)
195192
{
196-
BeforePlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
193+
InvokeBeforePlaying(this, new MediaPlayerEventArgs(mediaItem, this));
197194

198195
MediaPlaybackList.Items.Clear();
199196

@@ -208,7 +205,7 @@ public override async Task Play(IMediaItem mediaItem, TimeSpan startAt, TimeSpan
208205
}
209206
await Play(MediaPlaybackList);
210207

211-
AfterPlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
208+
InvokeAfterPlaying(this, new MediaPlayerEventArgs(mediaItem, this));
212209
}
213210

214211
public virtual async Task Play(IMediaPlaybackSource source)

MediaManager/Platforms/Wpf/Player/WpfMediaPlayer.cs

+4-7
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,6 @@ public MediaElement Player
4343
set => SetProperty(ref _player, value);
4444
}
4545

46-
public override event BeforePlayingEventHandler BeforePlaying;
47-
public override event AfterPlayingEventHandler AfterPlaying;
48-
4946
public override void UpdateVideoAspect(VideoAspectMode videoAspectMode)
5047
{
5148
if (PlayerView == null)
@@ -142,23 +139,23 @@ public override Task Pause()
142139

143140
public override async Task Play(IMediaItem mediaItem)
144141
{
145-
BeforePlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
142+
InvokeBeforePlaying(this, new MediaPlayerEventArgs(mediaItem, this));
146143

147144
await Play(new Uri(mediaItem.MediaUri));
148145

149-
AfterPlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
146+
InvokeAfterPlaying(this, new MediaPlayerEventArgs(mediaItem, this));
150147
}
151148

152149
public override async Task Play(IMediaItem mediaItem, TimeSpan startAt, TimeSpan? stopAt = null)
153150
{
154-
BeforePlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
151+
InvokeBeforePlaying(this, new MediaPlayerEventArgs(mediaItem, this));
155152

156153
await Play(new Uri(mediaItem.MediaUri));
157154

158155
if (startAt != TimeSpan.Zero)
159156
await SeekTo(startAt);
160157

161-
AfterPlaying?.Invoke(this, new MediaPlayerEventArgs(mediaItem, this));
158+
InvokeAfterPlaying(this, new MediaPlayerEventArgs(mediaItem, this));
162159
}
163160

164161
public virtual async Task Play(Uri uri)

MediaManager/Player/MediaPlayerBase.cs

+12-2
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,18 @@ public virtual object VideoPlaceholder
7979

8080
public abstract void UpdateVideoPlaceholder(object value);
8181

82-
public abstract event BeforePlayingEventHandler BeforePlaying;
83-
public abstract event AfterPlayingEventHandler AfterPlaying;
82+
public event BeforePlayingEventHandler BeforePlaying;
83+
public event AfterPlayingEventHandler AfterPlaying;
84+
85+
public void InvokeBeforePlaying(object sender, MediaPlayerEventArgs e)
86+
{
87+
BeforePlaying?.Invoke(sender, e);
88+
}
89+
90+
public void InvokeAfterPlaying(object sender, MediaPlayerEventArgs e)
91+
{
92+
AfterPlaying?.Invoke(sender, e);
93+
}
8494

8595
public abstract Task Pause();
8696
public abstract Task Play(IMediaItem mediaItem);

Samples/ElementPlayer.Android/ElementPlayer.Android.csproj

+5
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@
6060
<AndroidDexTool>d8</AndroidDexTool>
6161
<AndroidEnableSGenConcurrent>true</AndroidEnableSGenConcurrent>
6262
<JavaMaximumHeapSize>1G</JavaMaximumHeapSize>
63+
<AotAssemblies>false</AotAssemblies>
64+
<EnableLLVM>false</EnableLLVM>
65+
<AndroidEnableProfiledAot>false</AndroidEnableProfiledAot>
66+
<BundleAssemblies>false</BundleAssemblies>
67+
<MandroidI18n />
6368
</PropertyGroup>
6469
<PropertyGroup>
6570
<DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>

0 commit comments

Comments
 (0)