expo-audio 57.0.0 → 57.0.2
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/CHANGELOG.md +10 -0
- package/android/build.gradle +2 -2
- package/expo-module.config.json +1 -1
- package/ios/AudioModule.swift +4 -3
- package/ios/AudioPlaylist.swift +62 -56
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/{57.0.0/expo.modules.audio-57.0.0.module → 57.0.2/expo.modules.audio-57.0.2.module} +7 -7
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.2/expo.modules.audio-57.0.2.module.md5 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.2/expo.modules.audio-57.0.2.module.sha1 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.2/expo.modules.audio-57.0.2.module.sha256 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.2/expo.modules.audio-57.0.2.module.sha512 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/{57.0.0/expo.modules.audio-57.0.0.pom → 57.0.2/expo.modules.audio-57.0.2.pom} +1 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.2/expo.modules.audio-57.0.2.pom.md5 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.2/expo.modules.audio-57.0.2.pom.sha1 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.2/expo.modules.audio-57.0.2.pom.sha256 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.2/expo.modules.audio-57.0.2.pom.sha512 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml +4 -4
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml.md5 +1 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml.sha1 +1 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml.sha256 +1 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml.sha512 +1 -1
- package/package.json +5 -5
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.0/expo.modules.audio-57.0.0.module.md5 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.0/expo.modules.audio-57.0.0.module.sha1 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.0/expo.modules.audio-57.0.0.module.sha256 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.0/expo.modules.audio-57.0.0.module.sha512 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.0/expo.modules.audio-57.0.0.pom.md5 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.0/expo.modules.audio-57.0.0.pom.sha1 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.0/expo.modules.audio-57.0.0.pom.sha256 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/57.0.0/expo.modules.audio-57.0.0.pom.sha512 +0 -1
- /package/local-maven-repo/expo/modules/audio/expo.modules.audio/{57.0.0/expo.modules.audio-57.0.0-sources.jar → 57.0.2/expo.modules.audio-57.0.2-sources.jar} +0 -0
- /package/local-maven-repo/expo/modules/audio/expo.modules.audio/{57.0.0/expo.modules.audio-57.0.0-sources.jar.md5 → 57.0.2/expo.modules.audio-57.0.2-sources.jar.md5} +0 -0
- /package/local-maven-repo/expo/modules/audio/expo.modules.audio/{57.0.0/expo.modules.audio-57.0.0-sources.jar.sha1 → 57.0.2/expo.modules.audio-57.0.2-sources.jar.sha1} +0 -0
- /package/local-maven-repo/expo/modules/audio/expo.modules.audio/{57.0.0/expo.modules.audio-57.0.0-sources.jar.sha256 → 57.0.2/expo.modules.audio-57.0.2-sources.jar.sha256} +0 -0
- /package/local-maven-repo/expo/modules/audio/expo.modules.audio/{57.0.0/expo.modules.audio-57.0.0-sources.jar.sha512 → 57.0.2/expo.modules.audio-57.0.2-sources.jar.sha512} +0 -0
- /package/local-maven-repo/expo/modules/audio/expo.modules.audio/{57.0.0/expo.modules.audio-57.0.0.aar → 57.0.2/expo.modules.audio-57.0.2.aar} +0 -0
- /package/local-maven-repo/expo/modules/audio/expo.modules.audio/{57.0.0/expo.modules.audio-57.0.0.aar.md5 → 57.0.2/expo.modules.audio-57.0.2.aar.md5} +0 -0
- /package/local-maven-repo/expo/modules/audio/expo.modules.audio/{57.0.0/expo.modules.audio-57.0.0.aar.sha1 → 57.0.2/expo.modules.audio-57.0.2.aar.sha1} +0 -0
- /package/local-maven-repo/expo/modules/audio/expo.modules.audio/{57.0.0/expo.modules.audio-57.0.0.aar.sha256 → 57.0.2/expo.modules.audio-57.0.2.aar.sha256} +0 -0
- /package/local-maven-repo/expo/modules/audio/expo.modules.audio/{57.0.0/expo.modules.audio-57.0.0.aar.sha512 → 57.0.2/expo.modules.audio-57.0.2.aar.sha512} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,16 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 57.0.2 — 2026-07-15
|
|
14
|
+
|
|
15
|
+
_This version does not introduce any user-facing changes._
|
|
16
|
+
|
|
17
|
+
## 57.0.1 — 2026-07-15
|
|
18
|
+
|
|
19
|
+
### 🐛 Bug fixes
|
|
20
|
+
|
|
21
|
+
- [iOS] Fix playlist `currentIndex` freezing after the first auto-advance. ([#47257](https://github.com/expo/expo/pull/47257) by [@alanjhughes](https://github.com/alanjhughes))
|
|
22
|
+
|
|
13
23
|
## 57.0.0 — 2026-06-25
|
|
14
24
|
|
|
15
25
|
### 🐛 Bug fixes
|
package/android/build.gradle
CHANGED
|
@@ -4,13 +4,13 @@ plugins {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
group = 'expo.modules.audio'
|
|
7
|
-
version = '57.0.
|
|
7
|
+
version = '57.0.2'
|
|
8
8
|
|
|
9
9
|
android {
|
|
10
10
|
namespace "expo.modules.audio"
|
|
11
11
|
defaultConfig {
|
|
12
12
|
versionCode 1
|
|
13
|
-
versionName "57.0.
|
|
13
|
+
versionName "57.0.2"
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
compileOptions {
|
package/expo-module.config.json
CHANGED
package/ios/AudioModule.swift
CHANGED
|
@@ -288,9 +288,10 @@ public class AudioModule: Module {
|
|
|
288
288
|
|
|
289
289
|
Class(AudioPlaylist.self) {
|
|
290
290
|
Constructor { (sources: [AudioSource], updateInterval: Double, loopMode: LoopMode) -> AudioPlaylist in
|
|
291
|
-
|
|
292
|
-
let
|
|
293
|
-
let
|
|
291
|
+
// Keep one slot per source, nil where an item can't be created, so playerItems stays aligned with sources.
|
|
292
|
+
let items = sources.map { AudioUtils.createAVPlayerItem(from: $0) }
|
|
293
|
+
let avQueuePlayer = AVQueuePlayer(items: items.compactMap { $0 })
|
|
294
|
+
let playlist = AudioPlaylist(avQueuePlayer, sources: sources, items: items, interval: updateInterval, loopMode: loopMode)
|
|
294
295
|
playlist.owningRegistry = self.registry
|
|
295
296
|
self.registry.add(playlist)
|
|
296
297
|
return playlist
|
package/ios/AudioPlaylist.swift
CHANGED
|
@@ -16,13 +16,22 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
|
|
|
16
16
|
var wasPlaying = false
|
|
17
17
|
|
|
18
18
|
private(set) var sources: [AudioSource] = []
|
|
19
|
-
|
|
19
|
+
|
|
20
|
+
private var playerItems: [AVPlayerItem?] = []
|
|
21
|
+
private var previousTrackIndex = 0
|
|
22
|
+
|
|
23
|
+
var currentTrackIndex: Int {
|
|
24
|
+
guard let current = ref.currentItem,
|
|
25
|
+
let index = playerItems.firstIndex(where: { $0 === current }) else {
|
|
26
|
+
return min(max(previousTrackIndex, 0), max(sources.count - 1, 0))
|
|
27
|
+
}
|
|
28
|
+
return index
|
|
29
|
+
}
|
|
20
30
|
|
|
21
31
|
func getSourceInfo() -> [AudioSource] {
|
|
22
32
|
return sources
|
|
23
33
|
}
|
|
24
34
|
|
|
25
|
-
private var currentItem: AVPlayerItem?
|
|
26
35
|
private var timeToken: Any?
|
|
27
36
|
private var cancellables = Set<AnyCancellable>()
|
|
28
37
|
private var endObserver: NSObjectProtocol?
|
|
@@ -54,13 +63,14 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
|
|
|
54
63
|
sources.count
|
|
55
64
|
}
|
|
56
65
|
|
|
57
|
-
init(_ ref: AVQueuePlayer, sources: [AudioSource], interval: Double, loopMode: LoopMode) {
|
|
66
|
+
init(_ ref: AVQueuePlayer, sources: [AudioSource], items: [AVPlayerItem?], interval: Double, loopMode: LoopMode) {
|
|
58
67
|
self.interval = interval
|
|
59
68
|
self.loopMode = loopMode
|
|
60
69
|
self.sources = sources
|
|
70
|
+
self.playerItems = items
|
|
61
71
|
super.init(ref)
|
|
62
72
|
|
|
63
|
-
|
|
73
|
+
ref.actionAtItemEnd = loopMode == .single ? .pause : .advance
|
|
64
74
|
setupPublisher()
|
|
65
75
|
addPlaybackEndNotification()
|
|
66
76
|
}
|
|
@@ -75,29 +85,20 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
|
|
|
75
85
|
}
|
|
76
86
|
|
|
77
87
|
func next() {
|
|
78
|
-
let previousIndex = currentTrackIndex
|
|
79
|
-
|
|
80
88
|
if currentTrackIndex < sources.count - 1 {
|
|
81
89
|
ref.advanceToNextItem()
|
|
82
|
-
currentTrackIndex += 1
|
|
83
|
-
currentItem = ref.currentItem
|
|
84
|
-
emitTrackChanged(previousIndex: previousIndex, currentIndex: currentTrackIndex)
|
|
85
90
|
} else if loopMode == .all && !sources.isEmpty {
|
|
86
91
|
skipTo(index: 0)
|
|
87
92
|
}
|
|
88
93
|
}
|
|
89
94
|
|
|
90
95
|
func previous() {
|
|
91
|
-
let previousIndex = currentTrackIndex
|
|
92
|
-
|
|
93
96
|
if currentTrackIndex > 0 {
|
|
94
97
|
let wasPlaying = isPlaying
|
|
95
|
-
currentTrackIndex
|
|
96
|
-
rebuildPlaylist(startingAt: currentTrackIndex)
|
|
98
|
+
rebuildPlaylist(startingAt: currentTrackIndex - 1)
|
|
97
99
|
if wasPlaying {
|
|
98
100
|
play(at: currentRate)
|
|
99
101
|
}
|
|
100
|
-
emitTrackChanged(previousIndex: previousIndex, currentIndex: currentTrackIndex)
|
|
101
102
|
} else if loopMode == .all && !sources.isEmpty {
|
|
102
103
|
skipTo(index: sources.count - 1)
|
|
103
104
|
}
|
|
@@ -108,17 +109,12 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
|
|
|
108
109
|
return
|
|
109
110
|
}
|
|
110
111
|
|
|
111
|
-
let previousIndex = currentTrackIndex
|
|
112
112
|
let wasPlaying = isPlaying
|
|
113
|
-
|
|
114
|
-
currentTrackIndex = index
|
|
115
113
|
rebuildPlaylist(startingAt: index)
|
|
116
114
|
|
|
117
115
|
if wasPlaying {
|
|
118
116
|
play(at: currentRate)
|
|
119
117
|
}
|
|
120
|
-
|
|
121
|
-
emitTrackChanged(previousIndex: previousIndex, currentIndex: currentTrackIndex)
|
|
122
118
|
}
|
|
123
119
|
|
|
124
120
|
func seekTo(seconds: Double) async {
|
|
@@ -135,12 +131,11 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
|
|
|
135
131
|
|
|
136
132
|
func add(source: AudioSource) {
|
|
137
133
|
sources.append(source)
|
|
138
|
-
|
|
134
|
+
let item = AudioUtils.createAVPlayerItem(from: source)
|
|
135
|
+
if let item {
|
|
139
136
|
ref.insert(item, after: nil)
|
|
140
137
|
}
|
|
141
|
-
|
|
142
|
-
currentItem = ref.currentItem
|
|
143
|
-
}
|
|
138
|
+
playerItems.append(item)
|
|
144
139
|
updateStatus(with: ["trackCount": trackCount])
|
|
145
140
|
}
|
|
146
141
|
|
|
@@ -150,13 +145,16 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
|
|
|
150
145
|
}
|
|
151
146
|
|
|
152
147
|
let wasPlaying = isPlaying
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
148
|
+
let resumeIndex: Int
|
|
149
|
+
if ref.currentItem != nil {
|
|
150
|
+
resumeIndex = index <= currentTrackIndex ? currentTrackIndex + 1 : currentTrackIndex
|
|
151
|
+
} else {
|
|
152
|
+
resumeIndex = index
|
|
157
153
|
}
|
|
154
|
+
sources.insert(source, at: index)
|
|
158
155
|
|
|
159
|
-
|
|
156
|
+
previousTrackIndex = resumeIndex
|
|
157
|
+
rebuildPlaylist(startingAt: resumeIndex)
|
|
160
158
|
if wasPlaying {
|
|
161
159
|
play(at: currentRate)
|
|
162
160
|
}
|
|
@@ -169,22 +167,28 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
|
|
|
169
167
|
}
|
|
170
168
|
|
|
171
169
|
let wasPlaying = isPlaying
|
|
170
|
+
let current = currentTrackIndex
|
|
172
171
|
sources.remove(at: index)
|
|
173
172
|
|
|
174
|
-
if index ==
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
rebuildPlaylist(startingAt: currentTrackIndex)
|
|
173
|
+
if index == current {
|
|
174
|
+
let resumeIndex = min(current, max(0, sources.count - 1))
|
|
175
|
+
previousTrackIndex = resumeIndex
|
|
176
|
+
rebuildPlaylist(startingAt: resumeIndex)
|
|
179
177
|
if wasPlaying && !sources.isEmpty {
|
|
180
178
|
play(at: currentRate)
|
|
181
179
|
}
|
|
182
|
-
} else if index <
|
|
183
|
-
|
|
184
|
-
|
|
180
|
+
} else if index < current {
|
|
181
|
+
let resumeIndex = current - 1
|
|
182
|
+
previousTrackIndex = resumeIndex
|
|
183
|
+
rebuildPlaylist(startingAt: resumeIndex)
|
|
185
184
|
if wasPlaying {
|
|
186
185
|
play(at: currentRate)
|
|
187
186
|
}
|
|
187
|
+
} else if index < playerItems.count {
|
|
188
|
+
if let item = playerItems[index] {
|
|
189
|
+
ref.remove(item)
|
|
190
|
+
}
|
|
191
|
+
playerItems.remove(at: index)
|
|
188
192
|
}
|
|
189
193
|
|
|
190
194
|
updateStatus(with: ["trackCount": trackCount])
|
|
@@ -194,8 +198,8 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
|
|
|
194
198
|
ref.pause()
|
|
195
199
|
ref.removeAllItems()
|
|
196
200
|
sources.removeAll()
|
|
197
|
-
|
|
198
|
-
|
|
201
|
+
playerItems.removeAll()
|
|
202
|
+
previousTrackIndex = 0
|
|
199
203
|
|
|
200
204
|
updateStatus(with: [
|
|
201
205
|
"trackCount": 0,
|
|
@@ -206,6 +210,7 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
|
|
|
206
210
|
|
|
207
211
|
func setLoopMode(_ mode: LoopMode) {
|
|
208
212
|
loopMode = mode
|
|
213
|
+
ref.actionAtItemEnd = mode == .single ? .pause : .advance
|
|
209
214
|
updateStatus(with: ["loop": mode.rawValue])
|
|
210
215
|
}
|
|
211
216
|
|
|
@@ -254,14 +259,18 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
|
|
|
254
259
|
}
|
|
255
260
|
|
|
256
261
|
private func rebuildPlaylist(startingAt index: Int) {
|
|
257
|
-
|
|
262
|
+
var items = [AVPlayerItem?](repeating: nil, count: sources.count)
|
|
263
|
+
for i in index..<sources.count {
|
|
264
|
+
items[i] = AudioUtils.createAVPlayerItem(from: sources[i])
|
|
265
|
+
}
|
|
266
|
+
playerItems = items
|
|
258
267
|
|
|
268
|
+
ref.removeAllItems()
|
|
259
269
|
for i in index..<sources.count {
|
|
260
|
-
if let item =
|
|
270
|
+
if let item = items[i] {
|
|
261
271
|
ref.insert(item, after: nil)
|
|
262
272
|
}
|
|
263
273
|
}
|
|
264
|
-
currentItem = ref.currentItem
|
|
265
274
|
}
|
|
266
275
|
|
|
267
276
|
private func setupPublisher() {
|
|
@@ -281,7 +290,13 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
|
|
|
281
290
|
guard let self else {
|
|
282
291
|
return
|
|
283
292
|
}
|
|
284
|
-
self.
|
|
293
|
+
let index = self.currentTrackIndex
|
|
294
|
+
if index != self.previousTrackIndex {
|
|
295
|
+
self.emitTrackChanged(previousIndex: self.previousTrackIndex, currentIndex: index)
|
|
296
|
+
self.previousTrackIndex = index
|
|
297
|
+
} else {
|
|
298
|
+
self.updateStatus(with: [:])
|
|
299
|
+
}
|
|
285
300
|
}
|
|
286
301
|
.store(in: &cancellables)
|
|
287
302
|
}
|
|
@@ -294,38 +309,29 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
|
|
|
294
309
|
) { [weak self] notification in
|
|
295
310
|
guard let self,
|
|
296
311
|
let item = notification.object as? AVPlayerItem,
|
|
297
|
-
|
|
312
|
+
let finishedIndex = self.playerItems.firstIndex(where: { $0 === item }) else {
|
|
298
313
|
return
|
|
299
314
|
}
|
|
300
315
|
|
|
301
|
-
let
|
|
316
|
+
let isLastTrack = finishedIndex >= self.sources.count - 1
|
|
302
317
|
|
|
303
318
|
switch self.loopMode {
|
|
304
319
|
case .single:
|
|
305
|
-
self.
|
|
320
|
+
self.ref.seek(to: .zero)
|
|
306
321
|
self.play(at: self.currentRate)
|
|
307
322
|
|
|
308
323
|
case .all:
|
|
309
|
-
if
|
|
324
|
+
if isLastTrack {
|
|
310
325
|
self.skipTo(index: 0)
|
|
311
326
|
self.play(at: self.currentRate)
|
|
312
|
-
} else {
|
|
313
|
-
self.currentItem = self.ref.currentItem
|
|
314
|
-
self.currentTrackIndex += 1
|
|
315
|
-
self.emitTrackChanged(previousIndex: previousIndex, currentIndex: self.currentTrackIndex)
|
|
316
327
|
}
|
|
317
328
|
|
|
318
329
|
case .none:
|
|
319
|
-
if
|
|
320
|
-
self.currentItem = nil
|
|
330
|
+
if isLastTrack {
|
|
321
331
|
self.updateStatus(with: [
|
|
322
332
|
"playing": false,
|
|
323
333
|
"didJustFinish": true
|
|
324
334
|
])
|
|
325
|
-
} else {
|
|
326
|
-
self.currentItem = self.ref.currentItem
|
|
327
|
-
self.currentTrackIndex += 1
|
|
328
|
-
self.emitTrackChanged(previousIndex: previousIndex, currentIndex: self.currentTrackIndex)
|
|
329
335
|
}
|
|
330
336
|
}
|
|
331
337
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "expo.modules.audio",
|
|
5
5
|
"module": "expo.modules.audio",
|
|
6
|
-
"version": "57.0.
|
|
6
|
+
"version": "57.0.2",
|
|
7
7
|
"attributes": {
|
|
8
8
|
"org.gradle.status": "release"
|
|
9
9
|
}
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
{
|
|
27
|
-
"name": "expo.modules.audio-57.0.
|
|
28
|
-
"url": "expo.modules.audio-57.0.
|
|
27
|
+
"name": "expo.modules.audio-57.0.2.aar",
|
|
28
|
+
"url": "expo.modules.audio-57.0.2.aar",
|
|
29
29
|
"size": 482740,
|
|
30
30
|
"sha512": "daeb40fdeb6dd99790189981a12f00e91b2d465ed807286aea5acc02e20ae9fd1cee7e7e4af679d86f0cada4fdad2a3debe996634d26bedf1f3139b184bb6ec1",
|
|
31
31
|
"sha256": "13e0021084a7014adf45929d7d3c03e68f19fd9012233a4380453d3d81b5e135",
|
|
@@ -137,8 +137,8 @@
|
|
|
137
137
|
],
|
|
138
138
|
"files": [
|
|
139
139
|
{
|
|
140
|
-
"name": "expo.modules.audio-57.0.
|
|
141
|
-
"url": "expo.modules.audio-57.0.
|
|
140
|
+
"name": "expo.modules.audio-57.0.2.aar",
|
|
141
|
+
"url": "expo.modules.audio-57.0.2.aar",
|
|
142
142
|
"size": 482740,
|
|
143
143
|
"sha512": "daeb40fdeb6dd99790189981a12f00e91b2d465ed807286aea5acc02e20ae9fd1cee7e7e4af679d86f0cada4fdad2a3debe996634d26bedf1f3139b184bb6ec1",
|
|
144
144
|
"sha256": "13e0021084a7014adf45929d7d3c03e68f19fd9012233a4380453d3d81b5e135",
|
|
@@ -157,8 +157,8 @@
|
|
|
157
157
|
},
|
|
158
158
|
"files": [
|
|
159
159
|
{
|
|
160
|
-
"name": "expo.modules.audio-57.0.
|
|
161
|
-
"url": "expo.modules.audio-57.0.
|
|
160
|
+
"name": "expo.modules.audio-57.0.2-sources.jar",
|
|
161
|
+
"url": "expo.modules.audio-57.0.2-sources.jar",
|
|
162
162
|
"size": 37294,
|
|
163
163
|
"sha512": "ecd6fa0402afd884b35d909181e329a7422336b702b955cd25249e7f83df0a96f7653335c1e80fdbff2e3103cceed9521a716d87cbd28c274ce9e63ad93510dd",
|
|
164
164
|
"sha256": "0a9b7643b845fcf89f3cbc8d7b6d1200e82a204b54de650671e998c6205fead0",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
755b4f4ce0b9f637812d10857753edfc
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0b959c328ef09719560b6a71135449acf717edaa
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
83bba2c68c7d239e4beb743becd3a7cbdac64a280997bd8b3af45cec4d3d660c
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
f7aeac0652e4fa47286229f56238aa36d6675f7ddf0a458456ab291930247cad257c56fb49517c139754c7d2e6b9b934989818fc20b94f95e61220d9ee7a2cd4
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<modelVersion>4.0.0</modelVersion>
|
|
10
10
|
<groupId>expo.modules.audio</groupId>
|
|
11
11
|
<artifactId>expo.modules.audio</artifactId>
|
|
12
|
-
<version>57.0.
|
|
12
|
+
<version>57.0.2</version>
|
|
13
13
|
<packaging>aar</packaging>
|
|
14
14
|
<name>expo.modules.audio</name>
|
|
15
15
|
<url>https://github.com/expo/expo</url>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0c738555555e9f1071589924a48d5b04
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
b09a9e675af93c6c6f7e53f72caf5b451f5de149
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
21e8c615c63f9f0d5b60bab098507927393df17674201a9f20ff50e8456bcd8d
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
c090dc5f0c2c354025930a0dbaf5775091b93787ba9dc225885c47240ff60490596644f891c85d931ada0f02f730280e787d5066f5f589bc5e2ab46c108869d1
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<groupId>expo.modules.audio</groupId>
|
|
4
4
|
<artifactId>expo.modules.audio</artifactId>
|
|
5
5
|
<versioning>
|
|
6
|
-
<latest>57.0.
|
|
7
|
-
<release>57.0.
|
|
6
|
+
<latest>57.0.2</latest>
|
|
7
|
+
<release>57.0.2</release>
|
|
8
8
|
<versions>
|
|
9
|
-
<version>57.0.
|
|
9
|
+
<version>57.0.2</version>
|
|
10
10
|
</versions>
|
|
11
|
-
<lastUpdated>
|
|
11
|
+
<lastUpdated>20260715094908</lastUpdated>
|
|
12
12
|
</versioning>
|
|
13
13
|
</metadata>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
c3003a612a8002330a6d0ff6f4313dff
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
c4b962eea4c658cbe9e89dbe74b1b72ee3cf6f22
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
cbe93d49c8a5aa0c049f09dc22c956aec909868f1a7f61958dfac05d9c56d9d8
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
dc2eebbc7bdfb61b1051d8f11537d6799549aa96eff7cecb011cd0be17eacf995b5fc57700372d5d70b1d5b13cb6cbc93c32099681a2fb9cb4a321e917ea932f
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-audio",
|
|
3
3
|
"title": "Expo Audio",
|
|
4
|
-
"version": "57.0.
|
|
4
|
+
"version": "57.0.2",
|
|
5
5
|
"description": "A cross-platform audio library for React Native and Expo apps.",
|
|
6
6
|
"main": "build/index.js",
|
|
7
7
|
"types": "build/index.d.ts",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/react": "~19.2.0",
|
|
28
28
|
"@types/node": "^22.14.0",
|
|
29
|
-
"expo": "57.0.
|
|
30
|
-
"expo-
|
|
31
|
-
"expo-
|
|
29
|
+
"expo": "57.0.6",
|
|
30
|
+
"expo-module-scripts": "56.0.3",
|
|
31
|
+
"expo-asset": "57.0.5"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"expo": "*",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"react-native": "*",
|
|
37
37
|
"expo-asset": "*"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "b9503d06b8e130abfca1bc16f671dbefb41ad709",
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "expo-module build",
|
|
42
42
|
"clean": "expo-module clean",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3d548813489a1b4328358075fae056e7
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
362f3b51a6c2ed494daaaebd707be3ad7381609d
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
10786a9a101bfc8d44027f676796c5c7a732ad120b92f6041b5d326d00d49d2b
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
30c6b013078fde07831467972108e8ccaa4fa7a725681feaf355e4465cde97c4c8b402f0daa9084d88817818decbf025be2a79b561f374b4eb92c35007bdabfd
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
bb35c348f58d81bf4b56cfcb4d0d6c81
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0706ad5c24a5a794fef49ec77a9918bfb41cf7be
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
99578836c93d8918fa249082956b4d6746a87a6922a7c6e1906877179e743205
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1a0d7ed36875a791e8ae990c969005494fde8b401b06527443a4e7feb1964baa5f1243a5d2487fada500672a954c71776d02d167cfa927e7f209cd3a2ad73e9a
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|