com.adrenak.univoice 2.0.1 → 2.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 CHANGED
@@ -1,53 +1,67 @@
1
- # [1.2.0](https://github.com/adrenak/univoice/compare/v1.1.4...v1.2.0) (2022-09-20)
2
-
3
-
4
- ### Bug Fixes
5
-
6
- * Update README.md ([5c234ee](https://github.com/adrenak/univoice/commit/5c234ee1e6aad430f72b4879a401bb98f3e68b88))
7
-
8
-
9
- ### Features
10
-
11
- * Remove inbuilt implementations. Remove samples. ([dbfc4c0](https://github.com/adrenak/univoice/commit/dbfc4c0a1ffd99d03aefe72aec0e27debe68525a))
12
-
13
- ## [1.1.4](https://github.com/adrenak/univoice/compare/v1.1.3...v1.1.4) (2021-08-10)
14
-
15
-
16
- ### Bug Fixes
17
-
18
- * Spell-fix in README ([fcbc7c6](https://github.com/adrenak/univoice/commit/fcbc7c6c28c84415a50050d7014ecdfc39347309))
19
-
20
- ## [1.1.3](https://github.com/adrenak/univoice/compare/v1.1.2...v1.1.3) (2021-06-03)
21
-
22
-
23
- ### Bug Fixes
24
-
25
- * Add missing mute others toggle in sample scene. ([cff9574](https://github.com/adrenak/univoice/commit/cff9574bdd4b769de519f451e489b9dcdb76f649))
26
-
27
- ## [1.1.2](https://github.com/adrenak/univoice/compare/v1.1.1...v1.1.2) (2021-06-02)
28
-
29
-
30
- ### Bug Fixes
31
-
32
- * README fix ([d03db44](https://github.com/adrenak/univoice/commit/d03db449e1fe2557a57df75ccfc8fe4a310f308f))
33
-
34
- ## [1.1.1](https://github.com/adrenak/univoice/compare/v1.1.0...v1.1.1) (2021-06-02)
35
-
36
-
37
- ### Bug Fixes
38
-
39
- * Prevent sample app screen from sleeping. ([545d96f](https://github.com/adrenak/univoice/commit/545d96f16b858ba1dbdb01de5298ba62c06c2725))
40
-
41
- # [1.1.0](https://github.com/adrenak/univoice/compare/v1.0.0...v1.1.0) (2021-06-02)
42
-
43
-
44
- ### Features
45
-
46
- * InbuiltAudioOutput now also accepts minimum segment count and ([294bfef](https://github.com/adrenak/univoice/commit/294bfef5677d49cd941b513c421980cf6a5e393f))
47
-
48
- # 1.0.0 (2021-06-02)
49
-
50
-
51
- ### Features
52
-
53
- * Full rebuild with AirPeer 1.2.0 ([9327b2a](https://github.com/adrenak/univoice/commit/9327b2a05da766e91bad5f8e6288e5c328ded429))
1
+ ## [2.0.2](https://github.com/adrenak/univoice/compare/v2.0.1...v2.0.2) (2022-11-02)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * remove comment about possible PeerID in IAudioOutput ([2246bb2](https://github.com/adrenak/univoice/commit/2246bb2bef234b84bdf6cd55a9faf87e09133953))
7
+
8
+ ## [1.2.1](https://github.com/adrenak/univoice/compare/v1.2.0...v1.2.1) (2022-10-10)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * PeersOutputs gets filled as peers join, not when they start ([42eaeb9](https://github.com/adrenak/univoice/commit/42eaeb95eef4eea7ee559da9fdbcac78ceb941b4))
14
+
15
+ # [1.2.0](https://github.com/adrenak/univoice/compare/v1.1.4...v1.2.0) (2022-09-20)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * Update README.md ([5c234ee](https://github.com/adrenak/univoice/commit/5c234ee1e6aad430f72b4879a401bb98f3e68b88))
21
+
22
+
23
+ ### Features
24
+
25
+ * Remove inbuilt implementations. Remove samples. ([dbfc4c0](https://github.com/adrenak/univoice/commit/dbfc4c0a1ffd99d03aefe72aec0e27debe68525a))
26
+
27
+ ## [1.1.4](https://github.com/adrenak/univoice/compare/v1.1.3...v1.1.4) (2021-08-10)
28
+
29
+
30
+ ### Bug Fixes
31
+
32
+ * Spell-fix in README ([fcbc7c6](https://github.com/adrenak/univoice/commit/fcbc7c6c28c84415a50050d7014ecdfc39347309))
33
+
34
+ ## [1.1.3](https://github.com/adrenak/univoice/compare/v1.1.2...v1.1.3) (2021-06-03)
35
+
36
+
37
+ ### Bug Fixes
38
+
39
+ * Add missing mute others toggle in sample scene. ([cff9574](https://github.com/adrenak/univoice/commit/cff9574bdd4b769de519f451e489b9dcdb76f649))
40
+
41
+ ## [1.1.2](https://github.com/adrenak/univoice/compare/v1.1.1...v1.1.2) (2021-06-02)
42
+
43
+
44
+ ### Bug Fixes
45
+
46
+ * README fix ([d03db44](https://github.com/adrenak/univoice/commit/d03db449e1fe2557a57df75ccfc8fe4a310f308f))
47
+
48
+ ## [1.1.1](https://github.com/adrenak/univoice/compare/v1.1.0...v1.1.1) (2021-06-02)
49
+
50
+
51
+ ### Bug Fixes
52
+
53
+ * Prevent sample app screen from sleeping. ([545d96f](https://github.com/adrenak/univoice/commit/545d96f16b858ba1dbdb01de5298ba62c06c2725))
54
+
55
+ # [1.1.0](https://github.com/adrenak/univoice/compare/v1.0.0...v1.1.0) (2021-06-02)
56
+
57
+
58
+ ### Features
59
+
60
+ * InbuiltAudioOutput now also accepts minimum segment count and ([294bfef](https://github.com/adrenak/univoice/commit/294bfef5677d49cd941b513c421980cf6a5e393f))
61
+
62
+ # 1.0.0 (2021-06-02)
63
+
64
+
65
+ ### Features
66
+
67
+ * Full rebuild with AirPeer 1.2.0 ([9327b2a](https://github.com/adrenak/univoice/commit/9327b2a05da766e91bad5f8e6288e5c328ded429))
package/CHANGELOG.md.meta CHANGED
@@ -1,7 +1,7 @@
1
- fileFormatVersion: 2
2
- guid: 0d7539eaf2ef9674d9822b7ae65e72b5
3
- TextScriptImporter:
4
- externalObjects: {}
5
- userData:
6
- assetBundleName:
7
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 0d7539eaf2ef9674d9822b7ae65e72b5
3
+ TextScriptImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2018 Vatsal Ambastha
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2018 Vatsal Ambastha
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/LICENSE.meta CHANGED
@@ -1,7 +1,7 @@
1
- fileFormatVersion: 2
2
- guid: 789be013ec943714a826e42a9d7db452
3
- DefaultImporter:
4
- externalObjects: {}
5
- userData:
6
- assetBundleName:
7
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 789be013ec943714a826e42a9d7db452
3
+ DefaultImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
package/README.md.meta CHANGED
@@ -1,7 +1,7 @@
1
- fileFormatVersion: 2
2
- guid: b497ccbc9f4029f4593611f820e24235
3
- TextScriptImporter:
4
- externalObjects: {}
5
- userData:
6
- assetBundleName:
7
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: b497ccbc9f4029f4593611f820e24235
3
+ TextScriptImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -1,3 +1,3 @@
1
- {
2
- "name": "Adrenak.UniVoice.Runtime"
3
- }
1
+ {
2
+ "name": "Adrenak.UniVoice.Runtime"
3
+ }
@@ -1,7 +1,7 @@
1
- fileFormatVersion: 2
2
- guid: 6b289bb677194eb40b60db3a566aab7b
3
- AssemblyDefinitionImporter:
4
- externalObjects: {}
5
- userData:
6
- assetBundleName:
7
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 6b289bb677194eb40b60db3a566aab7b
3
+ AssemblyDefinitionImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -73,6 +73,7 @@ namespace Adrenak.UniVoice {
73
73
  // ====================================================================
74
74
  /// <summary>
75
75
  /// Creates and returns a new agent using the provided dependencies.
76
+ /// The instance then makes the dependencies work together.
76
77
  /// </summary>
77
78
  ///
78
79
  /// <param name="chatroomNetwork">The chatroom network implementation
@@ -105,7 +106,7 @@ namespace Adrenak.UniVoice {
105
106
  PeerSettings = new Dictionary<short, ChatroomPeerSettings>();
106
107
  PeerOutputs = new Dictionary<short, IAudioOutput>();
107
108
 
108
- Init();
109
+ LinkDependencies();
109
110
  }
110
111
 
111
112
  /// <summary>
@@ -128,21 +129,21 @@ namespace Adrenak.UniVoice {
128
129
  // ====================================================================
129
130
  #region INTERNAL
130
131
  // ====================================================================
131
- void Init() {
132
- // Node server events
132
+ void LinkDependencies() {
133
+ // Network events
133
134
  Network.OnCreatedChatroom += () =>
134
135
  CurrentMode = ChatroomAgentMode.Host;
135
136
  Network.OnClosedChatroom += () => {
136
137
  CurrentMode = ChatroomAgentMode.Unconnected;
137
138
  RemoveAllPeers();
138
139
  };
139
-
140
- // Node client events
141
140
  Network.OnJoinedChatroom += id => {
142
141
  CurrentMode = ChatroomAgentMode.Guest;
143
142
  };
144
- Network.OnLeftChatroom += () =>
143
+ Network.OnLeftChatroom += () => {
145
144
  RemoveAllPeers();
145
+ CurrentMode = ChatroomAgentMode.Unconnected;
146
+ };
146
147
  Network.OnPeerJoinedChatroom += id =>
147
148
  AddPeer(id);
148
149
  Network.OnPeerLeftChatroom += id =>
@@ -158,18 +159,17 @@ namespace Adrenak.UniVoice {
158
159
  var channels = data.channelCount;
159
160
  var samples = data.samples;
160
161
 
161
- if (HasSettingsForPeer(peerID) && !PeerSettings[peerID].muteThem)
162
+ if (PeerSettings.ContainsKey(peerID) && !PeerSettings[peerID].muteThem)
162
163
  PeerOutputs[peerID].Feed(index, frequency, channels, samples);
163
164
  };
164
165
 
165
166
  AudioInput.OnSegmentReady += (index, samples) => {
167
+ // If we're muting ourselves to all, no point continuing
166
168
  if (MuteSelf) return;
167
169
 
168
170
  // Get all the recipients we haven't muted ourselves to
169
171
  var recipients = Network.PeerIDs
170
- .Where(x => {
171
- return HasSettingsForPeer(x) && !PeerSettings[x].muteSelf;
172
- });
172
+ .Where(x => PeerSettings.ContainsKey(x) && !PeerSettings[x].muteSelf);
173
173
 
174
174
  // Send the audio segment to every deserving recipient
175
175
  foreach (var recipient in recipients)
@@ -205,10 +205,11 @@ namespace Adrenak.UniVoice {
205
205
  }
206
206
  }
207
207
 
208
- void RemoveAllPeers() =>
209
- PeerSettings.Keys.ToList().ForEach(x => RemovePeer(x));
210
-
211
- bool HasSettingsForPeer(short id) => PeerSettings.ContainsKey(id);
208
+ void RemoveAllPeers() {
209
+ var peers = Network.PeerIDs;
210
+ foreach(var peer in peers)
211
+ RemovePeer(peer);
212
+ }
212
213
  #endregion
213
214
  }
214
215
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 76706adfc97ef7d44823aa51d618267d
3
- MonoImporter:
4
- externalObjects: {}
5
- serializedVersion: 2
6
- defaultReferences: []
7
- executionOrder: 0
8
- icon: {instanceID: 0}
9
- userData:
10
- assetBundleName:
11
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 76706adfc97ef7d44823aa51d618267d
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -7,7 +7,7 @@ namespace Adrenak.UniVoice {
7
7
  /// <summary>
8
8
  /// Returns the normalized position of the AudioSource on its AudioClip
9
9
  /// </summary>
10
- public static float Position(this AudioSource source) {
10
+ public static float GetCurrentPosition(this AudioSource source) {
11
11
  return (float)source.timeSamples / source.clip.samples;
12
12
  }
13
13
 
@@ -1,12 +1,12 @@
1
- fileFormatVersion: 2
2
- guid: 646602ab062d77543b3742e51d16658f
3
- timeCreated: 1547895114
4
- licenseType: Free
5
- MonoImporter:
6
- serializedVersion: 2
7
- defaultReferences: []
8
- executionOrder: 0
9
- icon: {instanceID: 0}
10
- userData:
11
- assetBundleName:
12
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 646602ab062d77543b3742e51d16658f
3
+ timeCreated: 1547895114
4
+ licenseType: Free
5
+ MonoImporter:
6
+ serializedVersion: 2
7
+ defaultReferences: []
8
+ executionOrder: 0
9
+ icon: {instanceID: 0}
10
+ userData:
11
+ assetBundleName:
12
+ assetBundleVariant:
@@ -26,7 +26,7 @@ namespace Adrenak.UniVoice {
26
26
  /// <summary>
27
27
  /// The number of segments (a segment is a sequence of audio samples)
28
28
  /// that are emitted from the source every second.
29
- /// A 16000 Hz source with one channel at a rate of 10
29
+ /// Eg. A 16000 Hz source with one channel at a rate of 10
30
30
  /// will output an array of 1600 samples every 100 milliseconds.
31
31
  /// A 44000 Hz source with two channels at a rate of 10
32
32
  /// will output an array of 8800 samples every 100 milliseconds.
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: d56c2c84daac5494b93669532bca0b98
3
- MonoImporter:
4
- externalObjects: {}
5
- serializedVersion: 2
6
- defaultReferences: []
7
- executionOrder: 0
8
- icon: {instanceID: 0}
9
- userData:
10
- assetBundleName:
11
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: d56c2c84daac5494b93669532bca0b98
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -10,8 +10,6 @@ namespace Adrenak.UniVoice {
10
10
  /// destination doesn't matter.
11
11
  /// </summary>
12
12
  public interface IAudioOutput : IDisposable {
13
- // TODO: Maybe introduce a PeerID property?
14
-
15
13
  /// <summary>
16
14
  /// An ID associated with this audio output
17
15
  /// </summary>
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 7d34118811133f44eb7ba1b5c3f6bb77
3
- MonoImporter:
4
- externalObjects: {}
5
- serializedVersion: 2
6
- defaultReferences: []
7
- executionOrder: 0
8
- icon: {instanceID: 0}
9
- userData:
10
- assetBundleName:
11
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 7d34118811133f44eb7ba1b5c3f6bb77
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -54,6 +54,8 @@ namespace Adrenak.UniVoice {
54
54
  /// <summary>
55
55
  /// Fired when a peer leaves the chatroom.
56
56
  /// Provides the ID of the peer as event data.
57
+ /// This also also MUST be called for all peers
58
+ /// when we leave a network.
57
59
  /// </summary>
58
60
  event Action<short> OnPeerLeftChatroom;
59
61
 
@@ -77,7 +79,7 @@ namespace Adrenak.UniVoice {
77
79
  short OwnID { get; }
78
80
 
79
81
  /// <summary>
80
- /// IDs of all the peers in the current chatroom
82
+ /// IDs of all the peers in the current chatroom (excluding <see cref="OwnID"/>)
81
83
  /// </summary>
82
84
  List<short> PeerIDs { get; }
83
85
  #endregion
@@ -88,7 +90,7 @@ namespace Adrenak.UniVoice {
88
90
  /// <summary>
89
91
  /// Creates a chatroom
90
92
  /// </summary>
91
- /// <param name="data">Name of the chatroom</param>
93
+ /// <param name="data">Any arguments for hosting a chatroom</param>
92
94
  void HostChatroom(object data = null);
93
95
 
94
96
  /// <summary>
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 11ba8951ad10dc84a963ca3c32cda48a
3
- MonoImporter:
4
- externalObjects: {}
5
- serializedVersion: 2
6
- defaultReferences: []
7
- executionOrder: 0
8
- icon: {instanceID: 0}
9
- userData:
10
- assetBundleName:
11
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 11ba8951ad10dc84a963ca3c32cda48a
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,8 +1,8 @@
1
- fileFormatVersion: 2
2
- guid: a0b094f3fe5bc624fae2ffb1e18c19a1
3
- folderAsset: yes
4
- DefaultImporter:
5
- externalObjects: {}
6
- userData:
7
- assetBundleName:
8
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: a0b094f3fe5bc624fae2ffb1e18c19a1
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 95ab24cb9f03b8c4c8f22f567259def4
3
- MonoImporter:
4
- externalObjects: {}
5
- serializedVersion: 2
6
- defaultReferences: []
7
- executionOrder: 0
8
- icon: {instanceID: 0}
9
- userData:
10
- assetBundleName:
11
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 95ab24cb9f03b8c4c8f22f567259def4
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,27 +1,27 @@
1
- namespace Adrenak.UniVoice {
2
- [System.Serializable]
3
- /// <summary>
4
- /// A data structure representing the audio transmitted over the network.
5
- /// </summary>
6
- public struct ChatroomAudioSegment {
7
- /// <summary>
8
- /// The segment index of the audio samples
9
- /// </summary>
10
- public int segmentIndex;
11
-
12
- /// <summary>
13
- /// The frequency (or sampling rate) of the audio
14
- /// </summary>
15
- public int frequency;
16
-
17
- /// <summary>
18
- /// THe number of channels in the audio
19
- /// </summary>
20
- public int channelCount;
21
-
22
- /// <summary>
23
- /// A float array representing the audio sample data
24
- /// </summary>
25
- public float[] samples;
26
- }
1
+ namespace Adrenak.UniVoice {
2
+ [System.Serializable]
3
+ /// <summary>
4
+ /// A data structure representing the audio transmitted over the network.
5
+ /// </summary>
6
+ public struct ChatroomAudioSegment {
7
+ /// <summary>
8
+ /// The segment index of the audio samples
9
+ /// </summary>
10
+ public int segmentIndex;
11
+
12
+ /// <summary>
13
+ /// The frequency (or sampling rate) of the audio
14
+ /// </summary>
15
+ public int frequency;
16
+
17
+ /// <summary>
18
+ /// THe number of channels in the audio
19
+ /// </summary>
20
+ public int channelCount;
21
+
22
+ /// <summary>
23
+ /// A float array representing the audio sample data
24
+ /// </summary>
25
+ public float[] samples;
26
+ }
27
27
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 8aa96a7270a41ab42a055ed9a5bcfacd
3
- MonoImporter:
4
- externalObjects: {}
5
- serializedVersion: 2
6
- defaultReferences: []
7
- executionOrder: 0
8
- icon: {instanceID: 0}
9
- userData:
10
- assetBundleName:
11
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 8aa96a7270a41ab42a055ed9a5bcfacd
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,8 +1,8 @@
1
- fileFormatVersion: 2
2
- guid: af3826214be11544e9a38629b9c93566
3
- folderAsset: yes
4
- DefaultImporter:
5
- externalObjects: {}
6
- userData:
7
- assetBundleName:
8
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: af3826214be11544e9a38629b9c93566
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
package/Runtime.meta CHANGED
@@ -1,9 +1,9 @@
1
- fileFormatVersion: 2
2
- guid: e1b2e834bd331324e9157c87f86d1143
3
- folderAsset: yes
4
- timeCreated: 1547895114
5
- licenseType: Free
6
- DefaultImporter:
7
- userData:
8
- assetBundleName:
9
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: e1b2e834bd331324e9157c87f86d1143
3
+ folderAsset: yes
4
+ timeCreated: 1547895114
5
+ licenseType: Free
6
+ DefaultImporter:
7
+ userData:
8
+ assetBundleName:
9
+ assetBundleVariant:
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
- {
2
- "name": "com.adrenak.univoice",
3
- "version": "2.0.1",
4
- "displayName": "Adrenak.UniVoice",
5
- "description": "Voice chat/VoIP solution for Unity.",
6
- "unity": "2019.4",
7
- "author": "Vatsal Ambastha <ambastha.vatsal@gmail.com> (http://www.vatsalambastha.com)",
8
- "license": "MIT",
9
- "keywords": [
10
- "Peer To Peer",
11
- "WebRTC",
12
- "P2P",
13
- "Networking",
14
- "Voice Chat",
15
- "voip"
16
- ],
17
- "publishConfig": {
18
- "registry": "https://registry.npmjs.org"
19
- }
20
- }
1
+ {
2
+ "name": "com.adrenak.univoice",
3
+ "version": "2.0.2",
4
+ "displayName": "Adrenak.UniVoice",
5
+ "description": "Voice chat/VoIP solution for Unity.",
6
+ "unity": "2019.4",
7
+ "author": "Vatsal Ambastha <ambastha.vatsal@gmail.com> (http://www.vatsalambastha.com)",
8
+ "license": "MIT",
9
+ "keywords": [
10
+ "Peer To Peer",
11
+ "WebRTC",
12
+ "P2P",
13
+ "Networking",
14
+ "Voice Chat",
15
+ "voip"
16
+ ],
17
+ "publishConfig": {
18
+ "registry": "https://registry.npmjs.org"
19
+ }
20
+ }
package/package.json.meta CHANGED
@@ -1,7 +1,7 @@
1
- fileFormatVersion: 2
2
- guid: 5677af848094d404f835a6468b36f003
3
- TextScriptImporter:
4
- externalObjects: {}
5
- userData:
6
- assetBundleName:
7
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 5677af848094d404f835a6468b36f003
3
+ TextScriptImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant: