mirror of
https://github.com/cgzirim/seek-tune.git
synced 2025-12-17 17:04:22 +00:00
commit
6e0aa6ce40
1 changed files with 36 additions and 23 deletions
|
|
@ -11,8 +11,10 @@ import "react-toastify/dist/ReactToastify.css";
|
||||||
import { MediaRecorder, register } from "extendable-media-recorder";
|
import { MediaRecorder, register } from "extendable-media-recorder";
|
||||||
import { connect } from "extendable-media-recorder-wav-encoder";
|
import { connect } from "extendable-media-recorder-wav-encoder";
|
||||||
|
|
||||||
// var socket = io("http://localhost:5000");
|
const backendServer =
|
||||||
var socket = io("https://localport.online:4443/");
|
process.env.REACT_APP_BACKEND_URL || "http://localhost:5000";
|
||||||
|
|
||||||
|
var socket = io(backendServer);
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
const [stream, setStream] = useState();
|
const [stream, setStream] = useState();
|
||||||
|
|
@ -111,30 +113,32 @@ function App() {
|
||||||
track.stop();
|
track.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
// const audioContext = new AudioContext({
|
/** Attempt to change sampleRate
|
||||||
// sampleRate: 44100,
|
const audioContext = new AudioContext({
|
||||||
// });
|
sampleRate: 44100,
|
||||||
// const mediaStreamAudioSourceNode = new MediaStreamAudioSourceNode(
|
});
|
||||||
// audioContext,
|
const mediaStreamAudioSourceNode = new MediaStreamAudioSourceNode(
|
||||||
// { mediaStream: audioStream }
|
audioContext,
|
||||||
// );
|
{ mediaStream: audioStream }
|
||||||
// const mediaStreamAudioDestinationNode =
|
);
|
||||||
// new MediaStreamAudioDestinationNode(audioContext, {
|
const mediaStreamAudioDestinationNode =
|
||||||
// channelCount: 1,
|
new MediaStreamAudioDestinationNode(audioContext, {
|
||||||
// });
|
channelCount: 1,
|
||||||
|
});
|
||||||
|
|
||||||
// mediaStreamAudioSourceNode.connect(mediaStreamAudioDestinationNode);
|
mediaStreamAudioSourceNode.connect(mediaStreamAudioDestinationNode);
|
||||||
|
|
||||||
// const mediaRecorder = new MediaRecorder(
|
const mediaRecorder = new MediaRecorder(
|
||||||
// mediaStreamAudioDestinationNode.stream,
|
mediaStreamAudioDestinationNode.stream,
|
||||||
// { mimeType: "audio/wav" }
|
{ mimeType: "audio/wav" }
|
||||||
// );
|
);
|
||||||
|
|
||||||
// const settings = mediaStreamAudioDestinationNode.stream
|
const settings = mediaStreamAudioDestinationNode.stream
|
||||||
// .getAudioTracks()[0]
|
.getAudioTracks()[0]
|
||||||
// .getSettings();
|
.getSettings();
|
||||||
|
|
||||||
// console.log("Settings: ", settings);
|
console.log("Settings: ", settings);
|
||||||
|
*/
|
||||||
|
|
||||||
const mediaRecorder = new MediaRecorder(audioStream, {
|
const mediaRecorder = new MediaRecorder(audioStream, {
|
||||||
mimeType: "audio/wav",
|
mimeType: "audio/wav",
|
||||||
|
|
@ -162,9 +166,17 @@ function App() {
|
||||||
// downloadRecording(blob);
|
// downloadRecording(blob);
|
||||||
|
|
||||||
reader.readAsArrayBuffer(blob);
|
reader.readAsArrayBuffer(blob);
|
||||||
reader.onload = (event) => {
|
reader.onload = async (event) => {
|
||||||
const arrayBuffer = event.target.result;
|
const arrayBuffer = event.target.result;
|
||||||
|
|
||||||
|
// get record duration
|
||||||
|
const arrayBufferCopy = arrayBuffer.slice(0);
|
||||||
|
const audioContext = new AudioContext();
|
||||||
|
const audioBufferDecoded = await audioContext.decodeAudioData(
|
||||||
|
arrayBufferCopy
|
||||||
|
);
|
||||||
|
const recordDuration = audioBufferDecoded.duration;
|
||||||
|
|
||||||
var binary = "";
|
var binary = "";
|
||||||
var bytes = new Uint8Array(arrayBuffer);
|
var bytes = new Uint8Array(arrayBuffer);
|
||||||
var len = bytes.byteLength;
|
var len = bytes.byteLength;
|
||||||
|
|
@ -178,6 +190,7 @@ function App() {
|
||||||
|
|
||||||
const recordData = {
|
const recordData = {
|
||||||
audio: rawAudio,
|
audio: rawAudio,
|
||||||
|
duration: recordDuration,
|
||||||
channels: audioConfig.channelCount,
|
channels: audioConfig.channelCount,
|
||||||
sampleRate: audioConfig.sampleRate,
|
sampleRate: audioConfig.sampleRate,
|
||||||
sampleSize: audioConfig.sampleSize,
|
sampleSize: audioConfig.sampleSize,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue