@magmamath/students-features 0.9.107-rc.25 → 0.9.107-rc.27
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/dist/commonjs/features/voiceRecord/helpers.js +17 -4
- package/dist/commonjs/features/voiceRecord/helpers.js.map +1 -1
- package/dist/commonjs/features/voiceRecord/model/VoiceRecord.model.js +2 -1
- package/dist/commonjs/features/voiceRecord/model/VoiceRecord.model.js.map +1 -1
- package/dist/module/features/voiceRecord/helpers.js +17 -4
- package/dist/module/features/voiceRecord/helpers.js.map +1 -1
- package/dist/module/features/voiceRecord/model/VoiceRecord.model.js +2 -1
- package/dist/module/features/voiceRecord/model/VoiceRecord.model.js.map +1 -1
- package/dist/typescript/commonjs/features/voiceRecord/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voiceRecord/model/VoiceRecord.model.d.ts.map +1 -1
- package/dist/typescript/module/features/voiceRecord/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/voiceRecord/model/VoiceRecord.model.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/voiceRecord/helpers.ts +21 -5
- package/src/features/voiceRecord/model/VoiceRecord.model.ts +5 -1
|
@@ -73,7 +73,8 @@ const getAudioDurationMs = (fileUri, externalPlayer) => {
|
|
|
73
73
|
return new Promise((resolve, reject) => {
|
|
74
74
|
const subscription = player.addListener('playbackStatusUpdate', () => {
|
|
75
75
|
console.log('player.duration: ', player.duration);
|
|
76
|
-
|
|
76
|
+
// Chrome 93 and some older browsers return Infinity until audio is fully loaded
|
|
77
|
+
if (player.duration !== undefined && player.duration > 0 && Number.isFinite(player.duration)) {
|
|
77
78
|
subscription.remove();
|
|
78
79
|
|
|
79
80
|
// player.duration is in seconds (e.g., 1.234567)
|
|
@@ -85,6 +86,19 @@ const getAudioDurationMs = (fileUri, externalPlayer) => {
|
|
|
85
86
|
resolve(durationMs);
|
|
86
87
|
}
|
|
87
88
|
});
|
|
89
|
+
|
|
90
|
+
// Workaround for Chrome returning Infinity: seek to end to force duration calculation
|
|
91
|
+
if (_reactNativeUi.IS_WEB) {
|
|
92
|
+
setTimeout(() => {
|
|
93
|
+
try {
|
|
94
|
+
// Seeking to a large value forces Chrome to calculate the actual duration
|
|
95
|
+
player.seekTo(1e10);
|
|
96
|
+
player.seekTo(0);
|
|
97
|
+
} catch (e) {
|
|
98
|
+
// Ignore seek errors
|
|
99
|
+
}
|
|
100
|
+
}, 100);
|
|
101
|
+
}
|
|
88
102
|
setTimeout(() => {
|
|
89
103
|
subscription.remove();
|
|
90
104
|
if (isInternalPlayer) {
|
|
@@ -107,15 +121,14 @@ const generateAudioFormData = async ({
|
|
|
107
121
|
if (_reactNativeUi.IS_WEB) {
|
|
108
122
|
const response = await fetch(audioFileUri);
|
|
109
123
|
const blob = await response.blob();
|
|
110
|
-
const filename = fileName
|
|
124
|
+
const filename = fileName + blob.type.replace('audio/', '.');
|
|
111
125
|
console.log('filename: ', filename);
|
|
112
|
-
console.log('filetype', blob.type);
|
|
113
126
|
formData.append('file', blob, filename);
|
|
114
127
|
formData.append('filename', filename);
|
|
115
128
|
formData.append('duration', duration);
|
|
116
129
|
return formData;
|
|
117
130
|
}
|
|
118
|
-
const filename = fileName
|
|
131
|
+
const filename = fileName + '.m4a';
|
|
119
132
|
const file = {
|
|
120
133
|
uri: audioFileUri,
|
|
121
134
|
type: 'audio/m4a',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeUi","require","_expoAudio","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","exports","ensureRecordingPermissions","status","getRecordingPermissionsAsync","granted","requestRecordingPermissionsAsync","getAvailableInputsWeb","navigator","mediaDevices","enumerateDevices","devices","filter","d","kind","getAvailableInputs","recorder","IS_WEB","IS_MOBILE","addAudioInputsListenerWeb","callback","addEventListener","handleDeviceChange","removeEventListener","getAudioDurationMs","fileUri","externalPlayer","Promise","resolve","undefined","console","log","player","createAudioPlayer","isInternalPlayer","replace","reject","subscription","addListener","duration","remove","durationMs","round","setTimeout","Error","generateAudioFormData","audioFileUri","fileName","formData","FormData","response","fetch","blob","filename","type","append","
|
|
1
|
+
{"version":3,"names":["_reactNativeUi","require","_expoAudio","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","exports","ensureRecordingPermissions","status","getRecordingPermissionsAsync","granted","requestRecordingPermissionsAsync","getAvailableInputsWeb","navigator","mediaDevices","enumerateDevices","devices","filter","d","kind","getAvailableInputs","recorder","IS_WEB","IS_MOBILE","addAudioInputsListenerWeb","callback","addEventListener","handleDeviceChange","removeEventListener","getAudioDurationMs","fileUri","externalPlayer","Promise","resolve","undefined","console","log","player","createAudioPlayer","isInternalPlayer","replace","reject","subscription","addListener","duration","Number","isFinite","remove","durationMs","round","setTimeout","seekTo","e","Error","generateAudioFormData","audioFileUri","fileName","formData","FormData","response","fetch","blob","filename","type","append","file","uri","name","uploadAudioFileRequestGenerator","audioFileFormData","api","controller","AbortController","uploadAudio","uploadAudioFile","signal"],"sourceRoot":"../../../../src","sources":["features/voiceRecord/helpers.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -107,7 +107,8 @@ class VoiceRecordModel {
|
|
|
107
107
|
const durationMs = await (0, _helpers.getAudioDurationMs)(uri);
|
|
108
108
|
const formData = await (0, _helpers.generateAudioFormData)({
|
|
109
109
|
audioFileUri: uri,
|
|
110
|
-
durationMs
|
|
110
|
+
durationMs,
|
|
111
|
+
fileName: currentKey
|
|
111
112
|
});
|
|
112
113
|
const {
|
|
113
114
|
uploadAudio,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_effector","require","_helpers","_index","_RecorderModel","_VoiceRecordCollection","VoiceRecordModel","shouldDiscardRecording","setCurrentKey","createEvent","setCurrentRecord","reset","setIsDisabled","startAudioUpload","$currentKey","restore","$currentRecord","$isDisabled","deleteCurrentRecording","attach","source","mapParams","props","currentKey","notification","effect","createEffect","console","log","recordingItem","collection","get","abortUploadIfInProgress","resetRecordingState","info","t","initializeRecording","hasPermissions","ensureRecordingPermissions","error","inputs","getAvailableInputs","recorderModel","recorder","setAvailableInputs","length","start","stopAndDiscard","stop","clearStopResolver","recordingStatusUpdate","status","isFinished","url","constructor","api","events","RecorderModel","VoiceRecordsCollection","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","getAudioDurationMs","formData","generateAudioFormData","audioFileUri","uploadAudio","uploadAudioFileRequestGenerator","audioUploadPromise","then","data","update","catch","name","collectionItem","add","resolveStopWithCollectionItem","sample","clock","filter","fn","target","setAudioFileDurationMs","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_effector","require","_helpers","_index","_RecorderModel","_VoiceRecordCollection","VoiceRecordModel","shouldDiscardRecording","setCurrentKey","createEvent","setCurrentRecord","reset","setIsDisabled","startAudioUpload","$currentKey","restore","$currentRecord","$isDisabled","deleteCurrentRecording","attach","source","mapParams","props","currentKey","notification","effect","createEffect","console","log","recordingItem","collection","get","abortUploadIfInProgress","resetRecordingState","info","t","initializeRecording","hasPermissions","ensureRecordingPermissions","error","inputs","getAvailableInputs","recorderModel","recorder","setAvailableInputs","length","start","stopAndDiscard","stop","clearStopResolver","recordingStatusUpdate","status","isFinished","url","constructor","api","events","RecorderModel","VoiceRecordsCollection","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","getAudioDurationMs","formData","generateAudioFormData","audioFileUri","fileName","uploadAudio","uploadAudioFileRequestGenerator","audioUploadPromise","then","data","update","catch","name","collectionItem","add","resolveStopWithCollectionItem","sample","clock","filter","fn","target","setAudioFileDurationMs","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAQA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AA0BO,MAAMK,gBAAgB,CAAC;EAMpBC,sBAAsB,GAAG,KAAK;EAEtBC,aAAa,GAAG,IAAAC,qBAAW,EAAS,CAAC;EACrCC,gBAAgB,GAAG,IAAAD,qBAAW,EAAM,CAAC;EACrCE,KAAK,GAAG,IAAAF,qBAAW,EAAC,CAAC;EACrBG,aAAa,GAAG,IAAAH,qBAAW,EAAU,CAAC;EACtCI,gBAAgB,GAAG,IAAAJ,qBAAW,EAAS,CAAC;EAExCK,WAAW,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACP,aAAa,EAAE,EAAE,CAAC;EAC7CQ,cAAc,GAAG,IAAAD,iBAAO,EAAC,IAAI,CAACL,gBAAgB,EAAE,IAAI,CAAC,CAACC,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAEvEM,WAAW,GAAG,IAAAF,iBAAO,EAAC,IAAI,CAACH,aAAa,EAAE,KAAK,CAAC;EAEhDM,sBAAsB,GAAG,IAAAC,gBAAM,EAAC;IAC9CC,MAAM,EAAE,IAAI,CAACN,WAAW;IACxBO,SAAS,EAAEA,CAACC,KAAyC,EAAEC,UAAU,MAAM;MACrEC,YAAY,EAAE,IAAI;MAClB,GAAGF,KAAK;MACRC;IACF,CAAC,CAAC;IACFE,MAAM,EAAE,IAAAC,sBAAY,EAAC,CAAC;MAAEH,UAAU;MAAEC;IAA2C,CAAC,KAAK;MACnFG,OAAO,CAACC,GAAG,CAAC,8BAA8B,EAAEL,UAAU,CAAC;MACvD,MAAMM,aAAa,GAAG,IAAI,CAACC,UAAU,CAACC,GAAG,CAACR,UAAU,CAAC;MAErD,IAAI,CAACS,uBAAuB,CAACH,aAAa,CAAC;MAC3C,IAAI,CAACI,mBAAmB,CAACV,UAAU,CAAC;MAEpC,IAAIC,YAAY,EAAE;QAChB,IAAI,CAACA,YAAY,CAACU,IAAI,CAAC,IAAAC,QAAC,EAAC,gCAAgC,CAAC,CAAC;MAC7D;IACF,CAAC;EACH,CAAC,CAAC;EAEcC,mBAAmB,GAAG,IAAAV,sBAAY,EAAC,YAAY;IAC7DC,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;IACzC,IAAI,CAACV,sBAAsB,CAAC;MAAEM,YAAY,EAAE;IAAM,CAAC,CAAC;IAEpD,MAAMa,cAAc,GAAG,MAAM,IAAAC,mCAA0B,EAAC,CAAC;IACzD,IAAI,CAACD,cAAc,EAAE;MACnB,IAAI,CAACb,YAAY,CAACe,KAAK,CAAC,IAAAJ,QAAC,EAAC,kCAAkC,CAAC,CAAC;MAC9D;IACF;IAEA,MAAMK,MAAM,GAAG,MAAM,IAAAC,2BAAkB,EAAC,IAAI,CAACC,aAAa,CAACC,QAAQ,CAAC;IACpE,IAAI,CAACD,aAAa,CAACE,kBAAkB,CAACJ,MAAM,CAAC;IAE7C,IAAIA,MAAM,CAACK,MAAM,KAAK,CAAC,EAAE;MACvB,IAAI,CAACrB,YAAY,CAACe,KAAK,CAAC,IAAAJ,QAAC,EAAC,iCAAiC,CAAC,CAAC;MAC7D;IACF;IAEA,OAAO,IAAI,CAACO,aAAa,CAACI,KAAK,CAAC,CAAC;EACnC,CAAC,CAAC;EAEcC,cAAc,GAAG,IAAArB,sBAAY,EAAC,YAAY;IACxD,IAAI,CAACnB,sBAAsB,GAAG,IAAI;IAClC,MAAM,IAAI,CAACmC,aAAa,CAACM,IAAI,CAAC,CAAC;IAC/B,IAAI,CAACN,aAAa,CAACO,iBAAiB,CAAC,CAAC;IACtC,IAAI,CAACP,aAAa,CAAC/B,KAAK,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEcuC,qBAAqB,GAAIC,MAAW,IAAK;IACvD,IAAIA,MAAM,CAACZ,KAAK,EAAE;MAChB,IAAI,CAACf,YAAY,CAACe,KAAK,CAAC,mBAAmBY,MAAM,CAACZ,KAAK,EAAE,CAAC;MAC1D,IAAI,CAACG,aAAa,CAACO,iBAAiB,CAAC,CAAC;MACtC,IAAI,CAAC1C,sBAAsB,GAAG,KAAK;MACnC;IACF;IACA,IAAI4C,MAAM,CAACC,UAAU,IAAID,MAAM,CAACE,GAAG,EAAE;MACnC,IAAI,CAAC,IAAI,CAAC9C,sBAAsB,EAAE;QAChC,IAAI,CAACM,gBAAgB,CAACsC,MAAM,CAACE,GAAG,CAAC;MACnC;MACA,IAAI,CAAC9C,sBAAsB,GAAG,KAAK;IACrC;EACF,CAAC;EAED+C,WAAWA,CAAC;IAAEC,GAAG;IAAE/B,YAAY;IAAEgC;EAA+B,CAAC,EAAE;IACjE,IAAI,CAACD,GAAG,GAAGA,GAAG;IACd,IAAI,CAAC/B,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACgC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACd,aAAa,GAAG,IAAIe,4BAAa,CAAC,CAAC;IACxC,IAAI,CAAC3B,UAAU,GAAG,IAAI4B,6CAAsB,CAAC,CAAC;IAE9C,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACzB,IAAI,CAACC,sBAAsB,CAAC,CAAC;EAC/B;EAEQ5B,uBAAuBA,CAACH,aAAwD,EAAE;IACxF,IAAI,CAACA,aAAa,EAAEgC,EAAE,IAAIhC,aAAa,EAAEiC,UAAU,EAAE;MACnDjC,aAAa,CAACiC,UAAU,CAACC,KAAK,CAAC,CAAC;IAClC;EACF;EAEQ9B,mBAAmBA,CAACV,UAAkB,EAAE;IAC9C,IAAI,CAACmB,aAAa,CAAC/B,KAAK,CAAC,CAAC;IAC1B,IAAI,CAACA,KAAK,CAAC,CAAC;IACZ,IAAI,CAACmB,UAAU,CAACkC,MAAM,CAACzC,UAAU,CAAC;EACpC;EAEA,MAAc0C,iBAAiBA,CAAC;IAAEC,GAAG;IAAE3C;EAAyB,CAAC,EAAE;IACjE,MAAM4C,UAAU,GAAG,MAAM,IAAAC,2BAAkB,EAACF,GAAG,CAAC;IAChD,MAAMG,QAAQ,GAAG,MAAM,IAAAC,8BAAqB,EAAC;MAC3CC,YAAY,EAAEL,GAAG;MACjBC,UAAU;MACVK,QAAQ,EAAEjD;IACZ,CAAC,CAAC;IACF,MAAM;MAAEkD,WAAW;MAAEX;IAAW,CAAC,GAAG,IAAAY,wCAA+B,EAACL,QAAQ,EAAE,IAAI,CAACd,GAAG,CAAC;IAEvF,MAAMoB,kBAAkB,GAAGF,WAAW,CAAC,CAAC,CACrCG,IAAI,CAAEC,IAAI,IAAK;MACd;MACA,IAAI,IAAI,CAAC/C,UAAU,CAACC,GAAG,CAACR,UAAU,CAAC,EAAE;QACnC,IAAI,CAACO,UAAU,CAACgD,MAAM,CAACvD,UAAU,EAAE;UAAEsC,EAAE,EAAEgB,IAAI,CAAChB;QAAG,CAAC,CAAC;MACrD;MACA,OAAOgB,IAAI;IACb,CAAC,CAAC,CACDE,KAAK,CAAExC,KAAK,IAAK;MAChB,IAAIA,KAAK,CAACyC,IAAI,KAAK,eAAe,EAAE;MACpC,IAAI,CAACxD,YAAY,CAACe,KAAK,CAAC,IAAAJ,QAAC,EAAC,4BAA4B,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEJ,MAAM8C,cAAyC,GAAG;MAChDd,UAAU;MACVQ,kBAAkB;MAClBb,UAAU;MACVI;IACF,CAAC;IAED,IAAI,CAACpC,UAAU,CAACoD,GAAG,CAAC3D,UAAU,EAAE0D,cAAc,CAAC;IAC/C,IAAI,CAACvE,gBAAgB,CAACuE,cAAc,CAAC;IACrC,IAAI,CAACvC,aAAa,CAACyC,6BAA6B,CAACF,cAAc,CAAC;IAEhE,OAAON,kBAAkB;EAC3B;EAEQhB,kBAAkBA,CAAA,EAAG;IAC3B,IAAAyB,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAACxE,gBAAgB;MAC5BO,MAAM,EAAE,IAAI,CAACN,WAAW;MACxBwE,MAAM,EAAEA,CAAC/D,UAAU,EAAE2C,GAAG,KAAK,CAAC,CAACA,GAAG,IAAI,CAAC,CAAC3C,UAAU;MAClDgE,EAAE,EAAEA,CAAChE,UAAU,EAAE2C,GAAG,MAAM;QAAE3C,UAAU;QAAE2C;MAAI,CAAC,CAAC;MAC9CsB,MAAM,EAAE,IAAA9D,sBAAY,EAAC,CAAC;QAAEwC,GAAG;QAAE3C;MAAyB,CAAC,KACrD,IAAI,CAAC0C,iBAAiB,CAAC;QAAEC,GAAG;QAAE3C;MAAW,CAAC,CAC5C;IACF,CAAC,CAAC;EACJ;EAEQqC,sBAAsBA,CAAA,EAAG;IAC/B,IAAAwB,gBAAM,EAAC;MACLhE,MAAM,EAAE,IAAI,CAACN,WAAW;MACxByE,EAAE,EAAGhE,UAAU,IAAK,IAAI,CAACO,UAAU,CAACC,GAAG,CAACR,UAAU,CAAC;MACnDiE,MAAM,EAAE,IAAA9D,sBAAY,EAAEG,aAAyC,IAAK;QAClE,IAAI,CAACA,aAAa,EAAE;UAClB,IAAI,CAAClB,KAAK,CAAC,CAAC;UACZ;QACF;QAEA,IAAI,CAACD,gBAAgB,CAACmB,aAAa,CAAC;QAEpC,IAAIA,aAAa,CAACsC,UAAU,EAAE;UAC5B,IAAI,CAACzB,aAAa,CAAC+C,sBAAsB,CAAC5D,aAAa,CAACsC,UAAU,CAAC;QACrE;MACF,CAAC;IACH,CAAC,CAAC;EACJ;AACF;AAACuB,OAAA,CAAApF,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -65,7 +65,8 @@ export const getAudioDurationMs = (fileUri, externalPlayer) => {
|
|
|
65
65
|
return new Promise((resolve, reject) => {
|
|
66
66
|
const subscription = player.addListener('playbackStatusUpdate', () => {
|
|
67
67
|
console.log('player.duration: ', player.duration);
|
|
68
|
-
|
|
68
|
+
// Chrome 93 and some older browsers return Infinity until audio is fully loaded
|
|
69
|
+
if (player.duration !== undefined && player.duration > 0 && Number.isFinite(player.duration)) {
|
|
69
70
|
subscription.remove();
|
|
70
71
|
|
|
71
72
|
// player.duration is in seconds (e.g., 1.234567)
|
|
@@ -77,6 +78,19 @@ export const getAudioDurationMs = (fileUri, externalPlayer) => {
|
|
|
77
78
|
resolve(durationMs);
|
|
78
79
|
}
|
|
79
80
|
});
|
|
81
|
+
|
|
82
|
+
// Workaround for Chrome returning Infinity: seek to end to force duration calculation
|
|
83
|
+
if (IS_WEB) {
|
|
84
|
+
setTimeout(() => {
|
|
85
|
+
try {
|
|
86
|
+
// Seeking to a large value forces Chrome to calculate the actual duration
|
|
87
|
+
player.seekTo(1e10);
|
|
88
|
+
player.seekTo(0);
|
|
89
|
+
} catch (e) {
|
|
90
|
+
// Ignore seek errors
|
|
91
|
+
}
|
|
92
|
+
}, 100);
|
|
93
|
+
}
|
|
80
94
|
setTimeout(() => {
|
|
81
95
|
subscription.remove();
|
|
82
96
|
if (isInternalPlayer) {
|
|
@@ -98,15 +112,14 @@ export const generateAudioFormData = async ({
|
|
|
98
112
|
if (IS_WEB) {
|
|
99
113
|
const response = await fetch(audioFileUri);
|
|
100
114
|
const blob = await response.blob();
|
|
101
|
-
const filename = fileName
|
|
115
|
+
const filename = fileName + blob.type.replace('audio/', '.');
|
|
102
116
|
console.log('filename: ', filename);
|
|
103
|
-
console.log('filetype', blob.type);
|
|
104
117
|
formData.append('file', blob, filename);
|
|
105
118
|
formData.append('filename', filename);
|
|
106
119
|
formData.append('duration', duration);
|
|
107
120
|
return formData;
|
|
108
121
|
}
|
|
109
|
-
const filename = fileName
|
|
122
|
+
const filename = fileName + '.m4a';
|
|
110
123
|
const file = {
|
|
111
124
|
uri: audioFileUri,
|
|
112
125
|
type: 'audio/m4a',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IS_MOBILE","IS_WEB","createAudioPlayer","getRecordingPermissionsAsync","requestRecordingPermissionsAsync","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","ensureRecordingPermissions","status","granted","getAvailableInputsWeb","navigator","mediaDevices","enumerateDevices","devices","filter","d","kind","getAvailableInputs","recorder","addAudioInputsListenerWeb","callback","addEventListener","handleDeviceChange","removeEventListener","getAudioDurationMs","fileUri","externalPlayer","Promise","resolve","undefined","console","log","player","isInternalPlayer","replace","reject","subscription","addListener","duration","remove","durationMs","round","setTimeout","Error","generateAudioFormData","audioFileUri","fileName","formData","FormData","response","fetch","blob","filename","type","append","
|
|
1
|
+
{"version":3,"names":["IS_MOBILE","IS_WEB","createAudioPlayer","getRecordingPermissionsAsync","requestRecordingPermissionsAsync","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","ensureRecordingPermissions","status","granted","getAvailableInputsWeb","navigator","mediaDevices","enumerateDevices","devices","filter","d","kind","getAvailableInputs","recorder","addAudioInputsListenerWeb","callback","addEventListener","handleDeviceChange","removeEventListener","getAudioDurationMs","fileUri","externalPlayer","Promise","resolve","undefined","console","log","player","isInternalPlayer","replace","reject","subscription","addListener","duration","Number","isFinite","remove","durationMs","round","setTimeout","seekTo","e","Error","generateAudioFormData","audioFileUri","fileName","formData","FormData","response","fetch","blob","filename","type","append","file","uri","name","uploadAudioFileRequestGenerator","audioFileFormData","api","controller","AbortController","uploadAudio","uploadAudioFile","signal"],"sourceRoot":"../../../../src","sources":["features/voiceRecord/helpers.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -103,7 +103,8 @@ export class VoiceRecordModel {
|
|
|
103
103
|
const durationMs = await getAudioDurationMs(uri);
|
|
104
104
|
const formData = await generateAudioFormData({
|
|
105
105
|
audioFileUri: uri,
|
|
106
|
-
durationMs
|
|
106
|
+
durationMs,
|
|
107
|
+
fileName: currentKey
|
|
107
108
|
});
|
|
108
109
|
const {
|
|
109
110
|
uploadAudio,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["attach","createEffect","createEvent","restore","sample","ensureRecordingPermissions","generateAudioFormData","getAudioDurationMs","getAvailableInputs","uploadAudioFileRequestGenerator","t","RecorderModel","VoiceRecordsCollection","VoiceRecordModel","shouldDiscardRecording","setCurrentKey","setCurrentRecord","reset","setIsDisabled","startAudioUpload","$currentKey","$currentRecord","$isDisabled","deleteCurrentRecording","source","mapParams","props","currentKey","notification","effect","console","log","recordingItem","collection","get","abortUploadIfInProgress","resetRecordingState","info","initializeRecording","hasPermissions","error","inputs","recorderModel","recorder","setAvailableInputs","length","start","stopAndDiscard","stop","clearStopResolver","recordingStatusUpdate","status","isFinished","url","constructor","api","events","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","formData","audioFileUri","uploadAudio","audioUploadPromise","then","data","update","catch","name","collectionItem","add","resolveStopWithCollectionItem","clock","filter","fn","target","setAudioFileDurationMs"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["attach","createEffect","createEvent","restore","sample","ensureRecordingPermissions","generateAudioFormData","getAudioDurationMs","getAvailableInputs","uploadAudioFileRequestGenerator","t","RecorderModel","VoiceRecordsCollection","VoiceRecordModel","shouldDiscardRecording","setCurrentKey","setCurrentRecord","reset","setIsDisabled","startAudioUpload","$currentKey","$currentRecord","$isDisabled","deleteCurrentRecording","source","mapParams","props","currentKey","notification","effect","console","log","recordingItem","collection","get","abortUploadIfInProgress","resetRecordingState","info","initializeRecording","hasPermissions","error","inputs","recorderModel","recorder","setAvailableInputs","length","start","stopAndDiscard","stop","clearStopResolver","recordingStatusUpdate","status","isFinished","url","constructor","api","events","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","formData","audioFileUri","fileName","uploadAudio","audioUploadPromise","then","data","update","catch","name","collectionItem","add","resolveStopWithCollectionItem","clock","filter","fn","target","setAudioFileDurationMs"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/voiceRecord/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,aAAa,EAId,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,eAAO,MAAM,cAAc,OAAQ,MAAM,KAAG,MAK3C,CAAA;AAED,eAAO,MAAM,0BAA0B,wBAStC,CAAA;AASD,eAAO,MAAM,kBAAkB,aAAoB,aAAa,uEAQ/D,CAAA;AAED,eAAO,MAAM,yBAAyB,aAAc,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,eAiBvF,CAAA;AACD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YACpB,MAAM,mBACE,WAAW,KAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/voiceRecord/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,aAAa,EAId,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,eAAO,MAAM,cAAc,OAAQ,MAAM,KAAG,MAK3C,CAAA;AAED,eAAO,MAAM,0BAA0B,wBAStC,CAAA;AASD,eAAO,MAAM,kBAAkB,aAAoB,aAAa,uEAQ/D,CAAA;AAED,eAAO,MAAM,yBAAyB,aAAc,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,eAiBvF,CAAA;AACD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YACpB,MAAM,mBACE,WAAW,KAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAwD5B,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,qBAAqB,4CAI/B,2BAA2B,KAAG,OAAO,CAAC,QAAQ,CA+BhD,CAAA;AAED,eAAO,MAAM,+BAA+B,sBAAuB,QAAQ,OAAO,QAAQ;;;;;;;CAgBzF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAA6B,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAOD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAMD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAA;IAC5C,SAAgB,UAAU,EAAE,sBAAsB,CAAA;IAClD,SAAgB,GAAG,EAAE,QAAQ,CAAA;IAC7B,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,OAAO,CAAC,sBAAsB,CAAQ;IAEtC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,aAAa,4CAAyB;IACtD,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,WAAW,4CAAqC;IAEhE,SAAgB,sBAAsB,6EAkBpC;IAEF,SAAgB,mBAAmB,+CAmBjC;IAEF,SAAgB,cAAc,+CAK5B;IAEF,SAAgB,qBAAqB,WAAY,GAAG,UAanD;gBAEW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IAWjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;
|
|
1
|
+
{"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAA6B,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAOD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAMD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAA;IAC5C,SAAgB,UAAU,EAAE,sBAAsB,CAAA;IAClD,SAAgB,GAAG,EAAE,QAAQ,CAAA;IAC7B,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,OAAO,CAAC,sBAAsB,CAAQ;IAEtC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,aAAa,4CAAyB;IACtD,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,WAAW,4CAAqC;IAEhE,SAAgB,sBAAsB,6EAkBpC;IAEF,SAAgB,mBAAmB,+CAmBjC;IAEF,SAAgB,cAAc,+CAK5B;IAEF,SAAgB,qBAAqB,WAAY,GAAG,UAanD;gBAEW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IAWjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;IAoC/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,sBAAsB;CAkB/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/voiceRecord/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,aAAa,EAId,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,eAAO,MAAM,cAAc,OAAQ,MAAM,KAAG,MAK3C,CAAA;AAED,eAAO,MAAM,0BAA0B,wBAStC,CAAA;AASD,eAAO,MAAM,kBAAkB,aAAoB,aAAa,uEAQ/D,CAAA;AAED,eAAO,MAAM,yBAAyB,aAAc,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,eAiBvF,CAAA;AACD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YACpB,MAAM,mBACE,WAAW,KAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/voiceRecord/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,aAAa,EAId,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,eAAO,MAAM,cAAc,OAAQ,MAAM,KAAG,MAK3C,CAAA;AAED,eAAO,MAAM,0BAA0B,wBAStC,CAAA;AASD,eAAO,MAAM,kBAAkB,aAAoB,aAAa,uEAQ/D,CAAA;AAED,eAAO,MAAM,yBAAyB,aAAc,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,eAiBvF,CAAA;AACD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YACpB,MAAM,mBACE,WAAW,KAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAwD5B,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,qBAAqB,4CAI/B,2BAA2B,KAAG,OAAO,CAAC,QAAQ,CA+BhD,CAAA;AAED,eAAO,MAAM,+BAA+B,sBAAuB,QAAQ,OAAO,QAAQ;;;;;;;CAgBzF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAA6B,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAOD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAMD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAA;IAC5C,SAAgB,UAAU,EAAE,sBAAsB,CAAA;IAClD,SAAgB,GAAG,EAAE,QAAQ,CAAA;IAC7B,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,OAAO,CAAC,sBAAsB,CAAQ;IAEtC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,aAAa,4CAAyB;IACtD,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,WAAW,4CAAqC;IAEhE,SAAgB,sBAAsB,6EAkBpC;IAEF,SAAgB,mBAAmB,+CAmBjC;IAEF,SAAgB,cAAc,+CAK5B;IAEF,SAAgB,qBAAqB,WAAY,GAAG,UAanD;gBAEW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IAWjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;
|
|
1
|
+
{"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAA6B,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAOD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAMD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAA;IAC5C,SAAgB,UAAU,EAAE,sBAAsB,CAAA;IAClD,SAAgB,GAAG,EAAE,QAAQ,CAAA;IAC7B,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,OAAO,CAAC,sBAAsB,CAAQ;IAEtC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,aAAa,4CAAyB;IACtD,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,WAAW,4CAAqC;IAEhE,SAAgB,sBAAsB,6EAkBpC;IAEF,SAAgB,mBAAmB,+CAmBjC;IAEF,SAAgB,cAAc,+CAK5B;IAEF,SAAgB,qBAAqB,WAAY,GAAG,UAanD;gBAEW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IAWjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;IAoC/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,sBAAsB;CAkB/B"}
|
package/package.json
CHANGED
|
@@ -84,8 +84,12 @@ export const getAudioDurationMs = (
|
|
|
84
84
|
return new Promise((resolve, reject) => {
|
|
85
85
|
const subscription = player.addListener('playbackStatusUpdate', () => {
|
|
86
86
|
console.log('player.duration: ', player.duration)
|
|
87
|
-
|
|
88
|
-
if (
|
|
87
|
+
// Chrome 93 and some older browsers return Infinity until audio is fully loaded
|
|
88
|
+
if (
|
|
89
|
+
player.duration !== undefined &&
|
|
90
|
+
player.duration > 0 &&
|
|
91
|
+
Number.isFinite(player.duration)
|
|
92
|
+
) {
|
|
89
93
|
subscription.remove()
|
|
90
94
|
|
|
91
95
|
// player.duration is in seconds (e.g., 1.234567)
|
|
@@ -99,6 +103,19 @@ export const getAudioDurationMs = (
|
|
|
99
103
|
}
|
|
100
104
|
})
|
|
101
105
|
|
|
106
|
+
// Workaround for Chrome returning Infinity: seek to end to force duration calculation
|
|
107
|
+
if (IS_WEB) {
|
|
108
|
+
setTimeout(() => {
|
|
109
|
+
try {
|
|
110
|
+
// Seeking to a large value forces Chrome to calculate the actual duration
|
|
111
|
+
player.seekTo(1e10)
|
|
112
|
+
player.seekTo(0)
|
|
113
|
+
} catch (e) {
|
|
114
|
+
// Ignore seek errors
|
|
115
|
+
}
|
|
116
|
+
}, 100)
|
|
117
|
+
}
|
|
118
|
+
|
|
102
119
|
setTimeout(() => {
|
|
103
120
|
subscription.remove()
|
|
104
121
|
|
|
@@ -130,9 +147,8 @@ export const generateAudioFormData = async ({
|
|
|
130
147
|
if (IS_WEB) {
|
|
131
148
|
const response = await fetch(audioFileUri)
|
|
132
149
|
const blob = await response.blob()
|
|
133
|
-
const filename = fileName
|
|
150
|
+
const filename = fileName + blob.type.replace('audio/', '.')
|
|
134
151
|
console.log('filename: ', filename)
|
|
135
|
-
console.log('filetype', blob.type)
|
|
136
152
|
|
|
137
153
|
formData.append('file', blob, filename)
|
|
138
154
|
formData.append('filename', filename)
|
|
@@ -141,7 +157,7 @@ export const generateAudioFormData = async ({
|
|
|
141
157
|
return formData
|
|
142
158
|
}
|
|
143
159
|
|
|
144
|
-
const filename = fileName
|
|
160
|
+
const filename = fileName + '.m4a'
|
|
145
161
|
const file = {
|
|
146
162
|
uri: audioFileUri,
|
|
147
163
|
type: 'audio/m4a',
|
|
@@ -142,7 +142,11 @@ export class VoiceRecordModel {
|
|
|
142
142
|
|
|
143
143
|
private async handleAudioUpload({ uri, currentKey }: UploadParams) {
|
|
144
144
|
const durationMs = await getAudioDurationMs(uri)
|
|
145
|
-
const formData = await generateAudioFormData({
|
|
145
|
+
const formData = await generateAudioFormData({
|
|
146
|
+
audioFileUri: uri,
|
|
147
|
+
durationMs,
|
|
148
|
+
fileName: currentKey,
|
|
149
|
+
})
|
|
146
150
|
const { uploadAudio, controller } = uploadAudioFileRequestGenerator(formData, this.api)
|
|
147
151
|
|
|
148
152
|
const audioUploadPromise = uploadAudio()
|