expo-libvlc-player 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/android/build.gradle
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
apply plugin: "com.android.library"
|
|
2
2
|
|
|
3
3
|
group = "expo.modules.libvlcplayer"
|
|
4
|
-
version = "1.0.
|
|
4
|
+
version = "1.0.4"
|
|
5
5
|
|
|
6
6
|
def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
|
|
7
7
|
apply from: expoModulesCorePlugin
|
|
@@ -27,7 +27,7 @@ android {
|
|
|
27
27
|
namespace "expo.modules.libvlcplayer"
|
|
28
28
|
defaultConfig {
|
|
29
29
|
versionCode 1
|
|
30
|
-
versionName "1.0.
|
|
30
|
+
versionName "1.0.4"
|
|
31
31
|
consumerProguardFiles("proguard-rules.pro")
|
|
32
32
|
}
|
|
33
33
|
lintOptions {
|
|
@@ -43,7 +43,7 @@ class LibVlcPlayerView(
|
|
|
43
43
|
|
|
44
44
|
internal var mediaLength: Long = 0L
|
|
45
45
|
internal var userVolume: Int = MAX_PLAYER_VOLUME
|
|
46
|
-
internal var firstPlay: Boolean =
|
|
46
|
+
internal var firstPlay: Boolean = false
|
|
47
47
|
|
|
48
48
|
internal val onBuffering by EventDispatcher()
|
|
49
49
|
internal val onPlaying by EventDispatcher()
|
|
@@ -117,7 +117,7 @@ class LibVlcPlayerView(
|
|
|
117
117
|
removeAllViews()
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
fun
|
|
120
|
+
fun setFirstPlay() {
|
|
121
121
|
var mediaInfo = MediaInfo()
|
|
122
122
|
|
|
123
123
|
mediaPlayer?.let { player ->
|
|
@@ -174,12 +174,14 @@ class LibVlcPlayerView(
|
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
onFirstPlay(mediaInfo)
|
|
177
|
+
|
|
178
|
+
firstPlay = false
|
|
177
179
|
}
|
|
178
180
|
|
|
179
181
|
fun setupPlayer() {
|
|
180
182
|
mediaPlayer?.let { player ->
|
|
181
183
|
attachPlayer()
|
|
182
|
-
|
|
184
|
+
setFirstPlay()
|
|
183
185
|
setPlayerTracks()
|
|
184
186
|
|
|
185
187
|
if (volume != MAX_PLAYER_VOLUME || mute) {
|
|
@@ -210,7 +212,6 @@ class LibVlcPlayerView(
|
|
|
210
212
|
}
|
|
211
213
|
|
|
212
214
|
time = DEFAULT_PLAYER_TIME
|
|
213
|
-
firstPlay = false
|
|
214
215
|
}
|
|
215
216
|
}
|
|
216
217
|
|
|
@@ -301,26 +302,30 @@ class LibVlcPlayerView(
|
|
|
301
302
|
onEncounteredError(error)
|
|
302
303
|
}
|
|
303
304
|
|
|
304
|
-
val
|
|
305
|
-
userVolume =
|
|
305
|
+
val newVolume = value.coerceIn(MIN_PLAYER_VOLUME, MAX_PLAYER_VOLUME)
|
|
306
|
+
userVolume = newVolume
|
|
306
307
|
|
|
307
|
-
mediaPlayer?.
|
|
308
|
+
mediaPlayer?.let { player ->
|
|
309
|
+
if (player.getVolume() > MIN_PLAYER_VOLUME) {
|
|
310
|
+
player.setVolume(newVolume)
|
|
311
|
+
}
|
|
312
|
+
}
|
|
308
313
|
|
|
309
314
|
field = value
|
|
310
315
|
}
|
|
311
316
|
|
|
312
317
|
var mute: Boolean = false
|
|
313
318
|
set(value) {
|
|
314
|
-
if (options.hasAudioOption()) {
|
|
319
|
+
if (!value && options.hasAudioOption()) {
|
|
315
320
|
val error = mapOf("error" to "Audio disabled via options")
|
|
316
321
|
onEncounteredError(error)
|
|
317
322
|
}
|
|
318
323
|
|
|
319
324
|
val newVolume =
|
|
320
|
-
if (
|
|
321
|
-
userVolume.coerceIn(PLAYER_VOLUME_STEP, MAX_PLAYER_VOLUME)
|
|
322
|
-
} else {
|
|
325
|
+
if (value) {
|
|
323
326
|
MIN_PLAYER_VOLUME
|
|
327
|
+
} else {
|
|
328
|
+
userVolume
|
|
324
329
|
}
|
|
325
330
|
|
|
326
331
|
mediaPlayer?.setVolume(newVolume)
|
|
@@ -18,7 +18,7 @@ class LibVlcPlayerView: ExpoView {
|
|
|
18
18
|
|
|
19
19
|
var mediaLength: Int32 = 0
|
|
20
20
|
private var userVolume: Int = maxPlayerVolume
|
|
21
|
-
var firstPlay: Bool =
|
|
21
|
+
var firstPlay: Bool = false
|
|
22
22
|
|
|
23
23
|
let onBuffering = EventDispatcher()
|
|
24
24
|
let onPlaying = EventDispatcher()
|
|
@@ -77,7 +77,7 @@ class LibVlcPlayerView: ExpoView {
|
|
|
77
77
|
firstPlay = true
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
func
|
|
80
|
+
func setFirstPlay() {
|
|
81
81
|
var mediaInfo = MediaInfo()
|
|
82
82
|
|
|
83
83
|
if let player = mediaPlayer {
|
|
@@ -138,12 +138,14 @@ class LibVlcPlayerView: ExpoView {
|
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
onFirstPlay(mediaInfo)
|
|
141
|
+
|
|
142
|
+
firstPlay = false
|
|
141
143
|
}
|
|
142
144
|
|
|
143
145
|
func setupPlayer() {
|
|
144
146
|
guard let player = mediaPlayer else { return }
|
|
145
147
|
|
|
146
|
-
|
|
148
|
+
setFirstPlay()
|
|
147
149
|
setPlayerTracks()
|
|
148
150
|
|
|
149
151
|
if volume != maxPlayerVolume || mute {
|
|
@@ -173,7 +175,6 @@ class LibVlcPlayerView: ExpoView {
|
|
|
173
175
|
}
|
|
174
176
|
|
|
175
177
|
time = defaultPlayerTime
|
|
176
|
-
firstPlay = false
|
|
177
178
|
}
|
|
178
179
|
|
|
179
180
|
func destroyPlayer() {
|
|
@@ -254,20 +255,24 @@ class LibVlcPlayerView: ExpoView {
|
|
|
254
255
|
let newVolume = max(minPlayerVolume, min(maxPlayerVolume, volume))
|
|
255
256
|
userVolume = newVolume
|
|
256
257
|
|
|
257
|
-
mediaPlayer
|
|
258
|
+
if let player = mediaPlayer, let audio = player.audio {
|
|
259
|
+
if audio.volume > minPlayerVolume {
|
|
260
|
+
audio.volume = Int32(newVolume)
|
|
261
|
+
}
|
|
262
|
+
}
|
|
258
263
|
}
|
|
259
264
|
}
|
|
260
265
|
|
|
261
266
|
var mute: Bool = false {
|
|
262
267
|
didSet {
|
|
263
|
-
if options.hasAudioOption() {
|
|
268
|
+
if !mute, options.hasAudioOption() {
|
|
264
269
|
let error = ["error": "Audio disabled via options"]
|
|
265
270
|
onEncounteredError(error)
|
|
266
271
|
}
|
|
267
272
|
|
|
268
|
-
let newVolume =
|
|
269
|
-
|
|
270
|
-
|
|
273
|
+
let newVolume = mute ?
|
|
274
|
+
minPlayerVolume :
|
|
275
|
+
userVolume
|
|
271
276
|
|
|
272
277
|
mediaPlayer?.audio?.volume = Int32(newVolume)
|
|
273
278
|
MediaPlayerManager.shared.setAppropriateAudioSession()
|
|
@@ -49,9 +49,8 @@ class MediaPlayerManager {
|
|
|
49
49
|
var audioSessionCategoryOptions: AVAudioSession.CategoryOptions = audioSession.categoryOptions
|
|
50
50
|
|
|
51
51
|
let isOutputtingAudio = playerViews.allObjects.contains { view in
|
|
52
|
-
guard let player = view.mediaPlayer else { return false }
|
|
53
|
-
|
|
54
|
-
return player.isPlaying && player.audio?.isMuted == false
|
|
52
|
+
guard let player = view.mediaPlayer, let audio = player.audio else { return false }
|
|
53
|
+
return player.isPlaying && audio.volume > minPlayerVolume
|
|
55
54
|
}
|
|
56
55
|
|
|
57
56
|
let shouldMixOverride = audioMixingMode == .mixWithOthers
|