expo-audio 0.4.4 → 0.4.6
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 +14 -0
- package/android/build.gradle +2 -2
- package/android/src/main/java/expo/modules/audio/AudioModule.kt +43 -27
- package/android/src/main/java/expo/modules/audio/AudioRecorder.kt +7 -3
- package/expo-module.config.json +1 -1
- package/ios/AudioUtils.swift +62 -2
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6-sources.jar +0 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6-sources.jar.md5 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6-sources.jar.sha1 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6-sources.jar.sha256 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6-sources.jar.sha512 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.aar +0 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.aar.md5 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.aar.sha1 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.aar.sha256 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.aar.sha512 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/{0.4.4/expo.modules.audio-0.4.4.module → 0.4.6/expo.modules.audio-0.4.6.module} +22 -22
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.module.md5 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.module.sha1 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.module.sha256 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.module.sha512 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/{0.4.4/expo.modules.audio-0.4.4.pom → 0.4.6/expo.modules.audio-0.4.6.pom} +1 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.pom.md5 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.pom.sha1 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.pom.sha256 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.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 +3 -3
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4-sources.jar +0 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4-sources.jar.md5 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4-sources.jar.sha1 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4-sources.jar.sha256 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4-sources.jar.sha512 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.aar +0 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.aar.md5 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.aar.sha1 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.aar.sha256 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.aar.sha512 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.module.md5 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.module.sha1 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.module.sha256 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.module.sha512 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.pom.md5 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.pom.sha1 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.pom.sha256 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.pom.sha512 +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,20 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 0.4.6 — 2025-06-04
|
|
14
|
+
|
|
15
|
+
### 🐛 Bug fixes
|
|
16
|
+
|
|
17
|
+
- [iOS] Support base64 strings as an audio source. ([#37031](https://github.com/expo/expo/pull/37031) by [@alanjhughes](https://github.com/alanjhughes))
|
|
18
|
+
- [iOS] Correctly add the http headers to the `AVURLAsset`. ([#37029](https://github.com/expo/expo/pull/37029) by [@alanjhughes](https://github.com/alanjhughes))
|
|
19
|
+
|
|
20
|
+
## 0.4.5 — 2025-05-08
|
|
21
|
+
|
|
22
|
+
### 🐛 Bug fixes
|
|
23
|
+
|
|
24
|
+
- [Android] Correctly handle recording URL's and local assets in production. ([#36737](https://github.com/expo/expo/pull/36737) by [@alanjhughes](https://github.com/alanjhughes))
|
|
25
|
+
- [Android] Run player updates on the main thread in the `audioFocusChangeListener`. ([#36957](https://github.com/expo/expo/pull/36957) by [@alanjhughes](https://github.com/alanjhughes))
|
|
26
|
+
|
|
13
27
|
## 0.4.4 — 2025-04-30
|
|
14
28
|
|
|
15
29
|
_This version does not introduce any user-facing changes._
|
package/android/build.gradle
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
package expo.modules.audio
|
|
2
2
|
|
|
3
3
|
import android.Manifest
|
|
4
|
+
import android.content.ContentResolver
|
|
4
5
|
import android.content.Context
|
|
5
6
|
import android.content.pm.PackageManager
|
|
6
7
|
import android.media.AudioAttributes
|
|
@@ -10,6 +11,7 @@ import android.net.Uri
|
|
|
10
11
|
import android.os.Build
|
|
11
12
|
import android.util.Log
|
|
12
13
|
import androidx.core.content.ContextCompat
|
|
14
|
+
import androidx.core.net.toUri
|
|
13
15
|
import androidx.media3.common.C.CONTENT_TYPE_DASH
|
|
14
16
|
import androidx.media3.common.C.CONTENT_TYPE_HLS
|
|
15
17
|
import androidx.media3.common.C.CONTENT_TYPE_OTHER
|
|
@@ -37,7 +39,6 @@ import kotlinx.coroutines.runBlocking
|
|
|
37
39
|
import okhttp3.OkHttpClient
|
|
38
40
|
import java.io.File
|
|
39
41
|
import kotlin.math.min
|
|
40
|
-
import androidx.core.net.toUri
|
|
41
42
|
|
|
42
43
|
@androidx.annotation.OptIn(androidx.media3.common.util.UnstableApi::class)
|
|
43
44
|
class AudioModule : Module() {
|
|
@@ -62,7 +63,9 @@ class AudioModule : Module() {
|
|
|
62
63
|
AudioManager.AUDIOFOCUS_LOSS_TRANSIENT -> {
|
|
63
64
|
focusAcquired = false
|
|
64
65
|
players.values.forEach {
|
|
65
|
-
|
|
66
|
+
runOnMain {
|
|
67
|
+
it.player.pause()
|
|
68
|
+
}
|
|
66
69
|
}
|
|
67
70
|
}
|
|
68
71
|
|
|
@@ -70,7 +73,9 @@ class AudioModule : Module() {
|
|
|
70
73
|
focusAcquired = false
|
|
71
74
|
if (interruptionMode == InterruptionMode.DUCK_OTHERS) {
|
|
72
75
|
players.values.forEach {
|
|
73
|
-
|
|
76
|
+
runOnMain {
|
|
77
|
+
it.player.volume /= 2f
|
|
78
|
+
}
|
|
74
79
|
}
|
|
75
80
|
}
|
|
76
81
|
}
|
|
@@ -146,7 +151,7 @@ class AudioModule : Module() {
|
|
|
146
151
|
AsyncFunction("setIsAudioActiveAsync") { enabled: Boolean ->
|
|
147
152
|
audioEnabled = enabled
|
|
148
153
|
if (!enabled) {
|
|
149
|
-
|
|
154
|
+
runOnMain {
|
|
150
155
|
players.values.forEach {
|
|
151
156
|
if (it.player.isPlaying) {
|
|
152
157
|
it.player.pause()
|
|
@@ -401,7 +406,9 @@ class AudioModule : Module() {
|
|
|
401
406
|
}
|
|
402
407
|
|
|
403
408
|
Property("uri") { ref ->
|
|
404
|
-
ref.filePath
|
|
409
|
+
ref.filePath?.let {
|
|
410
|
+
Uri.fromFile(File(it)).toString()
|
|
411
|
+
} ?: ""
|
|
405
412
|
}
|
|
406
413
|
|
|
407
414
|
Property("isRecording") { ref ->
|
|
@@ -456,35 +463,44 @@ class AudioModule : Module() {
|
|
|
456
463
|
}
|
|
457
464
|
}
|
|
458
465
|
|
|
459
|
-
private fun createMediaItem(source: AudioSource?): MediaSource? = source?.uri?.let {
|
|
460
|
-
val
|
|
461
|
-
val
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
source.uri.toUri()
|
|
466
|
+
private fun createMediaItem(source: AudioSource?): MediaSource? = source?.uri?.let { uriString ->
|
|
467
|
+
val uri = uriString.toUri()
|
|
468
|
+
val mediaItem = when (uri.scheme) {
|
|
469
|
+
null -> MediaItem.fromUri(getRawResourceURI(uriString))
|
|
470
|
+
else -> MediaItem.fromUri(uri)
|
|
465
471
|
}
|
|
466
|
-
val item = MediaItem.fromUri(sourceUri)
|
|
467
|
-
buildMediaSourceFactory(factory, item)
|
|
468
|
-
}
|
|
469
472
|
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
} else {
|
|
474
|
-
Uri.parse(audioSource.uri)
|
|
473
|
+
val factory = when (uri.scheme) {
|
|
474
|
+
"http", "https" -> httpDataSourceFactory(source.headers)
|
|
475
|
+
else -> DefaultDataSource.Factory(context)
|
|
475
476
|
}
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
}
|
|
477
|
+
return buildMediaSourceFactory(factory, mediaItem)
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
private fun httpDataSourceFactory(headers: Map<String, String>?): DataSource.Factory {
|
|
481
|
+
return OkHttpDataSource.Factory(httpClient).apply {
|
|
482
|
+
headers?.let { headers ->
|
|
483
|
+
setDefaultRequestProperties(headers)
|
|
484
484
|
}
|
|
485
485
|
}
|
|
486
486
|
}
|
|
487
487
|
|
|
488
|
+
private fun getRawResourceURI(file: String): Uri {
|
|
489
|
+
val resId = context.resources.getIdentifier(file, "raw", context.packageName)
|
|
490
|
+
|
|
491
|
+
return when {
|
|
492
|
+
resId == 0 ->
|
|
493
|
+
Uri.fromFile(File(file))
|
|
494
|
+
else ->
|
|
495
|
+
Uri.Builder()
|
|
496
|
+
.scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
|
|
497
|
+
.authority(context.packageName)
|
|
498
|
+
.appendPath("raw")
|
|
499
|
+
.appendPath(file)
|
|
500
|
+
.build()
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
|
|
488
504
|
private fun updatePlaySoundThroughEarpiece(playThroughEarpiece: Boolean) {
|
|
489
505
|
audioManager.mode = if (playThroughEarpiece) AudioManager.MODE_IN_COMMUNICATION else AudioManager.MODE_NORMAL
|
|
490
506
|
audioManager.setSpeakerphoneOn(!playThroughEarpiece)
|
|
@@ -142,9 +142,10 @@ class AudioRecorder(
|
|
|
142
142
|
|
|
143
143
|
val filename = "recording-${UUID.randomUUID()}${options.extension}"
|
|
144
144
|
try {
|
|
145
|
-
val directory = File(context.cacheDir
|
|
145
|
+
val directory = File(context.cacheDir, "Audio")
|
|
146
146
|
ensureDirExists(directory)
|
|
147
|
-
|
|
147
|
+
val file = File(directory, filename)
|
|
148
|
+
filePath = file.absolutePath
|
|
148
149
|
} catch (e: IOException) {
|
|
149
150
|
// This only occurs in the case that the scoped path is not in this experience's scope,
|
|
150
151
|
// which is never true.
|
|
@@ -169,7 +170,10 @@ class AudioRecorder(
|
|
|
169
170
|
getAudioRecorderLevels()?.let {
|
|
170
171
|
putInt("metering", it)
|
|
171
172
|
}
|
|
172
|
-
|
|
173
|
+
filePath?.let {
|
|
174
|
+
val path = Uri.fromFile(File(it)).toString()
|
|
175
|
+
putString("url", path)
|
|
176
|
+
}
|
|
173
177
|
}
|
|
174
178
|
} else {
|
|
175
179
|
Bundle().apply {
|
package/expo-module.config.json
CHANGED
package/ios/AudioUtils.swift
CHANGED
|
@@ -85,7 +85,18 @@ struct AudioUtils {
|
|
|
85
85
|
|
|
86
86
|
static func createAVPlayer(from source: AudioSource?) -> AVPlayer {
|
|
87
87
|
if let source, let url = source.uri {
|
|
88
|
-
let
|
|
88
|
+
let finalUrl = if url.isBase64Audio {
|
|
89
|
+
handleBase64Asset(base64String: url.absoluteString) ?? url
|
|
90
|
+
} else {
|
|
91
|
+
url
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
var options: [String: Any]?
|
|
95
|
+
if let headers = source.headers {
|
|
96
|
+
options = ["AVURLAssetHTTPHeaderFieldsKey": headers]
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
let asset = AVURLAsset(url: finalUrl, options: options)
|
|
89
100
|
let item = AVPlayerItem(asset: asset)
|
|
90
101
|
return AVPlayer(playerItem: item)
|
|
91
102
|
}
|
|
@@ -96,7 +107,18 @@ struct AudioUtils {
|
|
|
96
107
|
guard let source, let url = source.uri else {
|
|
97
108
|
return nil
|
|
98
109
|
}
|
|
99
|
-
let
|
|
110
|
+
let finalUrl = if url.isBase64Audio {
|
|
111
|
+
handleBase64Asset(base64String: url.absoluteString) ?? url
|
|
112
|
+
} else {
|
|
113
|
+
url
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
var options: [String: Any]?
|
|
117
|
+
if let headers = source.headers {
|
|
118
|
+
options = ["AVURLAssetHTTPHeaderFieldsKey": headers]
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
let asset = AVURLAsset(url: finalUrl, options: options)
|
|
100
122
|
return AVPlayerItem(asset: asset)
|
|
101
123
|
}
|
|
102
124
|
|
|
@@ -133,6 +155,38 @@ struct AudioUtils {
|
|
|
133
155
|
return settings
|
|
134
156
|
}
|
|
135
157
|
|
|
158
|
+
private static func handleBase64Asset(base64String: String) -> URL? {
|
|
159
|
+
let components = base64String.components(separatedBy: ",")
|
|
160
|
+
guard components.count == 2 else {
|
|
161
|
+
return nil
|
|
162
|
+
}
|
|
163
|
+
let mimeType = components[0].components(separatedBy: ";")[0].components(separatedBy: ":")[1]
|
|
164
|
+
let base64Data = components[1]
|
|
165
|
+
|
|
166
|
+
guard let data = Data(base64Encoded: base64Data, options: .ignoreUnknownCharacters) else {
|
|
167
|
+
return nil
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
let fileExtension = getFileExtension(for: mimeType)
|
|
171
|
+
let tempDirectory = FileManager.default.temporaryDirectory
|
|
172
|
+
let fileName = UUID().uuidString + "." + fileExtension
|
|
173
|
+
let fileURL = tempDirectory.appendingPathComponent(fileName)
|
|
174
|
+
|
|
175
|
+
do {
|
|
176
|
+
try data.write(to: fileURL)
|
|
177
|
+
return fileURL
|
|
178
|
+
} catch {
|
|
179
|
+
return nil
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
static func getFileExtension(for mimeType: String) -> String {
|
|
184
|
+
if let utType = UTType(mimeType: mimeType) {
|
|
185
|
+
return utType.preferredFilenameExtension ?? "dat"
|
|
186
|
+
}
|
|
187
|
+
return "dat"
|
|
188
|
+
}
|
|
189
|
+
|
|
136
190
|
private static func createRecordingUrl(from dir: URL, with options: RecordingOptions) -> URL {
|
|
137
191
|
let directoryPath = dir.appendingPathComponent("ExpoAudio")
|
|
138
192
|
FileSystemUtilities.ensureDirExists(at: directoryPath)
|
|
@@ -160,3 +214,9 @@ struct AudioUtils {
|
|
|
160
214
|
}
|
|
161
215
|
}
|
|
162
216
|
}
|
|
217
|
+
|
|
218
|
+
private extension URL {
|
|
219
|
+
var isBase64Audio: Bool {
|
|
220
|
+
return absoluteString.hasPrefix("data:audio/")
|
|
221
|
+
}
|
|
222
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
16b12ce1f64a92648c621d933188ef6b
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2926300234a91dc3a7079b6e01968c49fd4e8be9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
5b83253199eda38e1c38648763d0a597739ea6b68cc8d820f0adfc58005d7d11
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
653271097295e8ddcbec1387083547f51a4e602bc937a680506f2757179369078a817c64d8a5eee6827995487c77f722d11c87dff1afaf87a9a655755e8fcf86
|
package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.6/expo.modules.audio-0.4.6.aar
ADDED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2f81113a82d032d22895e4cc1113653e
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
5789c77be1c3f39079dd124df9c6b5a6ea4c9f4e
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ccffe7bc9275fb16f87f5ccd7f3e8a7c0d645c051cd8dcf7f93e541f1da6c90d
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4822e292172989e76129ff372ba1fea73fe20d90c659ee81adaf5e1a5d79841e7634f8482d86e5c52f4bf3b821161de8c6b5882306e4df05e8644488633e5c32
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "expo.modules.audio",
|
|
5
5
|
"module": "expo.modules.audio",
|
|
6
|
-
"version": "0.4.
|
|
6
|
+
"version": "0.4.6",
|
|
7
7
|
"attributes": {
|
|
8
8
|
"org.gradle.status": "release"
|
|
9
9
|
}
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
{
|
|
27
|
-
"name": "expo.modules.audio-0.4.
|
|
28
|
-
"url": "expo.modules.audio-0.4.
|
|
29
|
-
"size":
|
|
30
|
-
"sha512": "
|
|
31
|
-
"sha256": "
|
|
32
|
-
"sha1": "
|
|
33
|
-
"md5": "
|
|
27
|
+
"name": "expo.modules.audio-0.4.6.aar",
|
|
28
|
+
"url": "expo.modules.audio-0.4.6.aar",
|
|
29
|
+
"size": 185860,
|
|
30
|
+
"sha512": "4822e292172989e76129ff372ba1fea73fe20d90c659ee81adaf5e1a5d79841e7634f8482d86e5c52f4bf3b821161de8c6b5882306e4df05e8644488633e5c32",
|
|
31
|
+
"sha256": "ccffe7bc9275fb16f87f5ccd7f3e8a7c0d645c051cd8dcf7f93e541f1da6c90d",
|
|
32
|
+
"sha1": "5789c77be1c3f39079dd124df9c6b5a6ea4c9f4e",
|
|
33
|
+
"md5": "2f81113a82d032d22895e4cc1113653e"
|
|
34
34
|
}
|
|
35
35
|
]
|
|
36
36
|
},
|
|
@@ -95,13 +95,13 @@
|
|
|
95
95
|
],
|
|
96
96
|
"files": [
|
|
97
97
|
{
|
|
98
|
-
"name": "expo.modules.audio-0.4.
|
|
99
|
-
"url": "expo.modules.audio-0.4.
|
|
100
|
-
"size":
|
|
101
|
-
"sha512": "
|
|
102
|
-
"sha256": "
|
|
103
|
-
"sha1": "
|
|
104
|
-
"md5": "
|
|
98
|
+
"name": "expo.modules.audio-0.4.6.aar",
|
|
99
|
+
"url": "expo.modules.audio-0.4.6.aar",
|
|
100
|
+
"size": 185860,
|
|
101
|
+
"sha512": "4822e292172989e76129ff372ba1fea73fe20d90c659ee81adaf5e1a5d79841e7634f8482d86e5c52f4bf3b821161de8c6b5882306e4df05e8644488633e5c32",
|
|
102
|
+
"sha256": "ccffe7bc9275fb16f87f5ccd7f3e8a7c0d645c051cd8dcf7f93e541f1da6c90d",
|
|
103
|
+
"sha1": "5789c77be1c3f39079dd124df9c6b5a6ea4c9f4e",
|
|
104
|
+
"md5": "2f81113a82d032d22895e4cc1113653e"
|
|
105
105
|
}
|
|
106
106
|
]
|
|
107
107
|
},
|
|
@@ -115,13 +115,13 @@
|
|
|
115
115
|
},
|
|
116
116
|
"files": [
|
|
117
117
|
{
|
|
118
|
-
"name": "expo.modules.audio-0.4.
|
|
119
|
-
"url": "expo.modules.audio-0.4.
|
|
120
|
-
"size":
|
|
121
|
-
"sha512": "
|
|
122
|
-
"sha256": "
|
|
123
|
-
"sha1": "
|
|
124
|
-
"md5": "
|
|
118
|
+
"name": "expo.modules.audio-0.4.6-sources.jar",
|
|
119
|
+
"url": "expo.modules.audio-0.4.6-sources.jar",
|
|
120
|
+
"size": 11949,
|
|
121
|
+
"sha512": "653271097295e8ddcbec1387083547f51a4e602bc937a680506f2757179369078a817c64d8a5eee6827995487c77f722d11c87dff1afaf87a9a655755e8fcf86",
|
|
122
|
+
"sha256": "5b83253199eda38e1c38648763d0a597739ea6b68cc8d820f0adfc58005d7d11",
|
|
123
|
+
"sha1": "2926300234a91dc3a7079b6e01968c49fd4e8be9",
|
|
124
|
+
"md5": "16b12ce1f64a92648c621d933188ef6b"
|
|
125
125
|
}
|
|
126
126
|
]
|
|
127
127
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
112cfb1e4f74687ccf70e0f6e4f5d096
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
64770206b67e827417f83fef669592ee10c1ef12
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
71d01e107d8760fed3509b4e3a069efbc6352a782cf0ead8a0abf3ff409b8a44
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
b9bbc0248d57b3c94cab7a852c1bdb4ef6cf9f876138e6801e3f42f21035981fc0d1ae594dad3e9b58b1972f8679f106818632cfda20842d35886fd2e48528d8
|
|
@@ -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>0.4.
|
|
12
|
+
<version>0.4.6</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
|
+
a62cd66321c904e54720e6d9f3db0673
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
f77ccbbe01ae9c8e5c5dbce5bdf98e278213d507
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
dc0a0dd06bc0729b1f9d9447f1af8fb1e11407c4c8ad1142a51d23597c90e34e
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1e9f0635a1eada19b39a6709ad1e4f7d596164fa14a2bb08ab6692dec92ef4f95d93953c7dbf276ed570b1436907f2fd1f2e2bb63af5989edf1d6a3da2e4df9c
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<groupId>expo.modules.audio</groupId>
|
|
4
4
|
<artifactId>expo.modules.audio</artifactId>
|
|
5
5
|
<versioning>
|
|
6
|
-
<latest>0.4.
|
|
7
|
-
<release>0.4.
|
|
6
|
+
<latest>0.4.6</latest>
|
|
7
|
+
<release>0.4.6</release>
|
|
8
8
|
<versions>
|
|
9
|
-
<version>0.4.
|
|
9
|
+
<version>0.4.6</version>
|
|
10
10
|
</versions>
|
|
11
|
-
<lastUpdated>
|
|
11
|
+
<lastUpdated>20250604230416</lastUpdated>
|
|
12
12
|
</versioning>
|
|
13
13
|
</metadata>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
5e38b847a67dfcd99daa36620a7e6bd8
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
2cf3df2657ee8884b5aec968f5b95702a5892aa9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
bbfb4512ca242ccbd6c5514a5c743c3f51ef1b659c1142f2456d39f82c07f938
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
72e5ed48410a3e9b6154846f3d5428f94b9da3ea28894f5200e2990d104f9d12f449826139bbf4d83f3ebe644234f597a4d80c92b4b5f00494138850e29590f3
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-audio",
|
|
3
3
|
"title": "Expo Audio",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.6",
|
|
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",
|
|
@@ -33,12 +33,12 @@
|
|
|
33
33
|
"license": "MIT",
|
|
34
34
|
"dependencies": {},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"expo-module-scripts": "^4.1.
|
|
36
|
+
"expo-module-scripts": "^4.1.7"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"expo": "*",
|
|
40
40
|
"react": "*",
|
|
41
41
|
"react-native": "*"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "7638c800b57fe78f57cc7f129022f58e84a523c5"
|
|
44
44
|
}
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2fb5759d28c945fe08c1530cb736aaf4
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
f759ea485190b58c8e59734d263dccab32dd7110
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
d9806afca725f0656507326bc8b0d7db75e75ccd2ce4e1ea626209cef8909756
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
62186f8682284e739c2bad57001ab13df39e5aeaf2ba3de1414ab6022706b6a2aa27d885e0e3461ec8d9046432a99f7768aaf543254a813e64857e20afb8f92d
|
package/local-maven-repo/expo/modules/audio/expo.modules.audio/0.4.4/expo.modules.audio-0.4.4.aar
DELETED
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
f9e65a4d3c93f2b651a29f6d1c9a25e1
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
afba18ce78ec8af3fd7e1f057c7af8de0409ec37
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
b454e054c8b967eba2af8fa695eb3e288a5ab03855945a5b904267a81e814e91
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a0b3065f75bfe4f2b39cb9ebd0d8c1852643f94409f94560c2b33f033fc3d4f07da0406bbe2a277ac6f110fe7e2de292d07695487513234a82ad102e015802e9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
f94d47ac42774df01358848579cf2c1b
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2c89ab78c80717e07f02d5276dfc693af1ccf71f
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0c1e5728a99eb34cfa960cef3473b89d445653a6c9eadc45bf3753b58bb75d45
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
8c67acb6841487e2ab929ebb5a3cbafcc1c56e76501803b3ecbd1257f4650f5fb9080a5d6037b34d44791db4526a7b534d811ee2932bc59efca637692540f2e8
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
5dbdfa81a6a02c54c1fe14fa45b83983
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
63e829bffdfd96f631819f25f1e816b9c49bbd17
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
75dfa1dfcf21b40b838bb271f7c25d1a2c6f91e1ea47afa9fadecfd20b2df6bf
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
341004398d6e8308047b53ca98986843e40be231583cc7a29bf3e1dec8853aabc01b1e006b704ec110612fc0cd6e850cd4613f79a59372d3e50d280e70f09b8d
|