react-native-audio-api 0.7.1-nightly-3d6dbdf-20250805 → 0.7.1-nightly-a771e30-20250807
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/README.md
CHANGED
|
@@ -13,42 +13,56 @@ allowing developers to generate and modify audio in exact same way it is possibl
|
|
|
13
13
|
|
|
14
14
|
## Installation
|
|
15
15
|
|
|
16
|
-
check out the [Getting Started](https://docs.swmansion.com/react-native-audio-api/fundamentals/getting-started) section of our documentation for detailed instructions!
|
|
16
|
+
check out the [Getting Started](https://docs.swmansion.com/react-native-audio-api/docs/fundamentals/getting-started) section of our documentation for detailed instructions!
|
|
17
17
|
|
|
18
18
|
## Roadmap
|
|
19
19
|
|
|
20
|
-
- <sub>[](https://github.com/software-mansion/react-native-audio-api/releases/tag/0.1.0)</sub>
|
|
20
|
+
- <sub>[](https://github.com/software-mansion/react-native-audio-api/releases/tag/0.1.0)</sub> <br />
|
|
21
|
+
**Sound synthesis and system audio** 🐣 <br />
|
|
21
22
|
Access to devices audio engines and threads, basic nodes for sound synthesis, simple effects and audio graph implementation
|
|
22
23
|
<br />
|
|
23
24
|
|
|
24
|
-
- <sub>[](https://github.com/software-mansion/react-native-audio-api/releases/tag/0.2.0)</sub>
|
|
25
|
+
- <sub>[](https://github.com/software-mansion/react-native-audio-api/releases/tag/0.2.0)</sub> <br />
|
|
26
|
+
**Graph Processing** 🛎️ <br />
|
|
25
27
|
Support for multi-channel audio processing, audio-graph route optimizations, improved react-native layer for managing audio nodes
|
|
26
28
|
<br />
|
|
27
|
-
- <sub>[](https://github.com/software-mansion/react-native-audio-api/releases/tag/0.3.2)</sub> **Audio Files** 🎸 <br />
|
|
28
|
-
Support for local and remote audio file resources: MP3, WAV, FLAC.
|
|
29
|
-
<br />
|
|
30
29
|
|
|
31
|
-
- <sub>[](https://github.com/software-mansion/react-native-audio-api/releases/tag/0.3.2)</sub> <br />
|
|
31
|
+
**Audio Files** 🎸 <br />
|
|
32
|
+
Support for local and remote audio file resources: MP3, WAV, FLAC.
|
|
33
|
+
<br />
|
|
34
34
|
|
|
35
|
-
- <sub>[](https://github.com/software-mansion/react-native-audio-api/releases/tag/0.4.0)</sub> <br />
|
|
36
|
+
**Analyser Node** 🌊 <br />
|
|
37
|
+
Ability to draw, animate or simply debug audio data in time or frequency domain.
|
|
38
|
+
<br />
|
|
39
|
+
|
|
40
|
+
- <sub>[](https://github.com/software-mansion/react-native-audio-api/releases/tag/0.5.0)</sub> <br />
|
|
41
|
+
**Pitch correction, extending the web** 💥 <br />
|
|
42
|
+
Ability to modify playback speed without affecting pitch of the sound
|
|
43
|
+
<br />
|
|
38
44
|
|
|
39
|
-
- <sub>[](https://github.com/software-mansion/react-native-audio-api/releases/tag/0.6.0)</sub>
|
|
40
|
-
|
|
45
|
+
- <sub>[](https://github.com/software-mansion/react-native-audio-api/releases/tag/0.6.0)</sub> <br />
|
|
46
|
+
**System configuration** 🛠️ <br />
|
|
47
|
+
Full control of system audio settings, remote controls, lock screen integration and most importantly configurable background modes
|
|
41
48
|
|
|
42
|
-
|
|
43
|
-
|
|
49
|
+
**Connect audio param** 🤞 <br />
|
|
50
|
+
Ability to connect Audio nodes to audio params, which will allow for powerful and efficient modulation of audio parameters, creating effects like tremolo, vibrato or complex envelope followers. <br />
|
|
44
51
|
|
|
45
|
-
- <sub>[](https://github.com/software-mansion/react-native-audio-api/releases/tag/0.7.0)</sub>
|
|
46
|
-
**Microphone support** 🎙️ <br />
|
|
47
|
-
|
|
52
|
+
- <sub>[](https://github.com/software-mansion/react-native-audio-api/releases/tag/0.7.0)</sub> <br />
|
|
53
|
+
**Microphone support** 🎙️ <br />
|
|
54
|
+
Grab audio data from device microphone or connected device, connect it to the audio graph or stream through the internet <br />
|
|
48
55
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
56
|
+
**Custom Audio Processor** 🎙️ <br />
|
|
57
|
+
Write your own processing AudioNode <br />
|
|
58
|
+
|
|
59
|
+
- **Decoding support for m4a/mp4/aac/ogg/opus** 🐎 <br />
|
|
60
|
+
Ability to decode m4a/mp4/aac/ogg/opus audio files, allowing for playback of these formats in the audio graph.
|
|
61
|
+
<br />
|
|
62
|
+
|
|
63
|
+
- **HLS streaming support** 🐎 <br />
|
|
64
|
+
Ability to stream audio from HLS sources, allowing for playback of live audio streams or pre-recorded audio files.
|
|
65
|
+
<br />
|
|
52
66
|
|
|
53
67
|
- **JS Audio Worklets** 🐎 <br />
|
|
54
68
|
Ability to run JS functions connected to the audio graph running on audio thread allowing for full customization of what happens to the audio signal.
|
|
@@ -56,7 +70,7 @@ check out the [Getting Started](https://docs.swmansion.com/react-native-audio-ap
|
|
|
56
70
|
|
|
57
71
|
## Web Audio API Specification Coverage
|
|
58
72
|
|
|
59
|
-
Our current coverage of Web Audio API specification can be found here: [Web Audio API coverage](https://
|
|
73
|
+
Our current coverage of Web Audio API specification can be found here: [Web Audio API coverage](https://docs.swmansion.com/react-native-audio-api/docs/other/web-audio-api-coverage).
|
|
60
74
|
|
|
61
75
|
## Examples
|
|
62
76
|
|
|
@@ -49,10 +49,10 @@ void AudioNode::connect(const std::shared_ptr<AudioParam> ¶m) {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
void AudioNode::disconnect() {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
context_->getNodeManager()->addPendingNodeConnection(
|
|
53
|
+
shared_from_this(),
|
|
54
|
+
nullptr,
|
|
55
|
+
AudioNodeManager::ConnectionType::DISCONNECT_ALL);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
void AudioNode::disconnect(const std::shared_ptr<AudioNode> &node) {
|
|
@@ -57,20 +57,24 @@ void AudioNodeManager::addAudioParam(const std::shared_ptr<AudioParam> ¶m) {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
void AudioNodeManager::settlePendingConnections() {
|
|
60
|
-
for (
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
std::shared_ptr<AudioNode>
|
|
64
|
-
|
|
65
|
-
ConnectionType type = std::get<2>(*it);
|
|
60
|
+
for (int i = 0; i < audioNodesToConnect_.size(); ++i) {
|
|
61
|
+
auto &connection = audioNodesToConnect_[i];
|
|
62
|
+
std::shared_ptr<AudioNode> from = std::get<0>(connection);
|
|
63
|
+
std::shared_ptr<AudioNode> to = std::get<1>(connection);
|
|
64
|
+
ConnectionType type = std::get<2>(connection);
|
|
66
65
|
|
|
67
66
|
assert(from != nullptr);
|
|
68
|
-
assert(to != nullptr);
|
|
69
67
|
|
|
70
68
|
if (type == ConnectionType::CONNECT) {
|
|
69
|
+
assert(to != nullptr);
|
|
71
70
|
from->connectNode(to);
|
|
72
|
-
} else {
|
|
71
|
+
} else if (type == ConnectionType::DISCONNECT) {
|
|
72
|
+
assert(to != nullptr);
|
|
73
73
|
from->disconnectNode(to);
|
|
74
|
+
} else {
|
|
75
|
+
for (auto &node : from->outputNodes_) {
|
|
76
|
+
from->disconnectNode(node);
|
|
77
|
+
}
|
|
74
78
|
}
|
|
75
79
|
}
|
|
76
80
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-audio-api",
|
|
3
|
-
"version": "0.7.1-nightly-
|
|
3
|
+
"version": "0.7.1-nightly-a771e30-20250807",
|
|
4
4
|
"description": "react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification",
|
|
5
5
|
"bin": {
|
|
6
6
|
"setup-rn-audio-api-web": "./scripts/setup-rn-audio-api-web.js"
|