@siteed/expo-audio-studio 2.9.0 → 2.10.1

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.
Files changed (67) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/android/build.gradle +9 -0
  3. package/android/src/androidTest/assets/chorus.wav +0 -0
  4. package/android/src/androidTest/assets/jfk.wav +0 -0
  5. package/android/src/androidTest/assets/osr_us_000_0010_8k.wav +0 -0
  6. package/android/src/androidTest/assets/recorder_hello_world.wav +0 -0
  7. package/android/src/androidTest/java/net/siteed/audiostream/AudioProcessorInstrumentedTest.kt +197 -0
  8. package/android/src/androidTest/java/net/siteed/audiostream/AudioRecorderInstrumentedTest.kt +541 -0
  9. package/android/src/androidTest/java/net/siteed/audiostream/integration/BufferDurationIntegrationTest.kt +324 -0
  10. package/android/src/androidTest/java/net/siteed/audiostream/integration/OutputControlIntegrationTest.kt +340 -0
  11. package/android/src/androidTest/java/net/siteed/audiostream/integration/README.md +95 -0
  12. package/android/src/androidTest/java/net/siteed/audiostream/integration/run_integration_tests.sh +28 -0
  13. package/android/src/main/java/net/siteed/audiostream/AudioFormatUtils.kt +264 -13
  14. package/android/src/main/java/net/siteed/audiostream/AudioProcessor.kt +3 -13
  15. package/android/src/main/java/net/siteed/audiostream/AudioRecorderManager.kt +118 -55
  16. package/android/src/main/java/net/siteed/audiostream/LogUtils.kt +32 -4
  17. package/android/src/main/java/net/siteed/audiostream/RecordingConfig.kt +50 -15
  18. package/android/src/test/java/net/siteed/audiostream/AudioFileHandlerTest.kt +279 -0
  19. package/android/src/test/java/net/siteed/audiostream/AudioFormatUtilsTest.kt +273 -0
  20. package/android/src/test/resources/chorus.wav +0 -0
  21. package/android/src/test/resources/generate_test_audio.py +94 -0
  22. package/android/src/test/resources/jfk.wav +0 -0
  23. package/android/src/test/resources/osr_us_000_0010_8k.wav +0 -0
  24. package/android/src/test/resources/recorder_hello_world.wav +0 -0
  25. package/build/cjs/ExpoAudioStream.types.js.map +1 -1
  26. package/build/cjs/ExpoAudioStream.web.js +37 -34
  27. package/build/cjs/ExpoAudioStream.web.js.map +1 -1
  28. package/build/cjs/WebRecorder.web.js +12 -10
  29. package/build/cjs/WebRecorder.web.js.map +1 -1
  30. package/build/cjs/useAudioRecorder.js.map +1 -1
  31. package/build/esm/ExpoAudioStream.types.js.map +1 -1
  32. package/build/esm/ExpoAudioStream.web.js +37 -34
  33. package/build/esm/ExpoAudioStream.web.js.map +1 -1
  34. package/build/esm/WebRecorder.web.js +12 -10
  35. package/build/esm/WebRecorder.web.js.map +1 -1
  36. package/build/esm/useAudioRecorder.js.map +1 -1
  37. package/build/types/ExpoAudioStream.types.d.ts +54 -22
  38. package/build/types/ExpoAudioStream.types.d.ts.map +1 -1
  39. package/build/types/ExpoAudioStream.web.d.ts.map +1 -1
  40. package/build/types/WebRecorder.web.d.ts.map +1 -1
  41. package/ios/AudioNotificationManager.swift +2 -6
  42. package/ios/AudioStreamManager.swift +116 -50
  43. package/ios/ExpoAudioStream.podspec +6 -0
  44. package/ios/ExpoAudioStreamModule.swift +11 -8
  45. package/ios/ExpoAudioStudioTests/AudioFileHandlerTests.swift +338 -0
  46. package/ios/ExpoAudioStudioTests/AudioFormatUtilsTests.swift +331 -0
  47. package/ios/ExpoAudioStudioTests/AudioTestHelpers.swift +130 -0
  48. package/ios/ExpoAudioStudioTests/Info.plist +22 -0
  49. package/ios/ExpoAudioStudioTests/SimpleAudioTest.swift +98 -0
  50. package/ios/ExpoAudioStudioTests/TestAudioGenerator.swift +75 -0
  51. package/ios/RecordingSettings.swift +53 -22
  52. package/ios/tests/integration/buffer_duration_test.swift +185 -0
  53. package/ios/tests/integration/output_control_test.swift +322 -0
  54. package/ios/tests/integration/run_integration_tests.sh +27 -0
  55. package/ios/tests/standalone/audio_processing_test.swift +144 -0
  56. package/ios/tests/standalone/audio_recording_test.swift +277 -0
  57. package/ios/tests/standalone/audio_streaming_test.swift +249 -0
  58. package/ios/tests/standalone/standalone_test.swift +144 -0
  59. package/package.json +140 -133
  60. package/src/ExpoAudioStream.types.ts +66 -22
  61. package/src/ExpoAudioStream.web.ts +43 -38
  62. package/src/WebRecorder.web.ts +13 -10
  63. package/src/useAudioRecorder.tsx +1 -1
  64. package/android/src/main/test/java/net/siteed/audiostream/AudioProcessorTest.kt +0 -56
  65. package/ios/siteedexpoaudiostudio.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  66. package/ios/siteedexpoaudiostudio.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  67. /package/plugin/build/{index.d.ts → index.d.cts} +0 -0
@@ -1,56 +0,0 @@
1
- package net.siteed.audiostream
2
-
3
- import org.junit.Test
4
- import org.junit.Assert.*
5
-
6
- class AudioProcessorTest {
7
-
8
- private val sampleRate = 44100
9
- private val channels = 1
10
- private val encoding = "pcm_16bit"
11
- private val pointsPerSecond = 1000
12
- private val algorithm = "rms"
13
- private val features = mapOf("rms" to true, "zcr" to true)
14
-
15
- private val recordingConfig = RecordingConfig(
16
- sampleRate = sampleRate,
17
- channels = channels,
18
- encoding = encoding,
19
- interval = 1000,
20
- enableProcessing = true,
21
- pointsPerSecond = pointsPerSecond,
22
- algorithm = algorithm,
23
- features = features
24
- )
25
-
26
- private val audioProcessor = AudioProcessor()
27
-
28
- @Test
29
- fun testProcessAudioData() {
30
- val data = generateSineWave(440.0, sampleRate, 2.0)
31
-
32
- val result = audioProcessor.processAudioData(data, recordingConfig)
33
-
34
- assertNotNull(result)
35
- assertEquals(pointsPerSecond, result.pointsPerSecond)
36
- assertEquals((data.size / sampleRate) * 1000, result.durationMs.toInt())
37
- assertEquals(16, result.bitDepth)
38
- assertEquals(channels, result.numberOfChannels)
39
- assertEquals(sampleRate, result.sampleRate.toInt())
40
- }
41
-
42
- // Helper function to generate a sine wave
43
- private fun generateSineWave(frequency: Double, sampleRate: Int, durationSeconds: Double): ByteArray {
44
- val numSamples = (sampleRate * durationSeconds).toInt()
45
- val output = ByteArray(numSamples * 2) // 16-bit PCM
46
-
47
- for (i in 0 until numSamples) {
48
- val time = i / sampleRate.toDouble()
49
- val amplitude = (Math.sin(2.0 * Math.PI * frequency * time) * 32767).toInt()
50
- output[i * 2] = (amplitude and 0xff).toByte()
51
- output[i * 2 + 1] = ((amplitude shr 8) and 0xff).toByte()
52
- }
53
-
54
- return output
55
- }
56
- }
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Workspace
3
- version = "1.0">
4
- <FileRef
5
- location = "self:">
6
- </FileRef>
7
- </Workspace>
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>IDEDidComputeMac32BitWarning</key>
6
- <true/>
7
- </dict>
8
- </plist>
File without changes