
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
vue-voice-recording
Advanced tools
vue-voice-recording | Vue | lamejstmp |
---|---|---|
1.0.0 | => 3.x | ^1.0.1 |
npm install vue-voice-recorder --save
Option 1: Import the component and register globally
import { VueVoiceRecording } from 'vue-voice-recording';
import 'vue-voice-recording/dist/style.css'; // import it if you want to use the default template.
Option 2: Import the hook and use with your own template and styling
import { useRecorder } from 'vue-voice-recording';
const {
isRecording,
recordingTime,
isPaused,
recordingState,
toggleStartAndStop,
togglePauseAndResume,
startRecording,
stopRecording,
pauseRecording,
resumeRecording
} = useRecorder({
afterStartRecording: () => console.log('After microphone starts recording'),
afterStopRecording: (blob) => console.log('After microphone stops recording'),
afterPauseRecording: () => console.log('After microphone pauses recording'),
afterResumeRecording: () => console.log('After microphone resumes recording'),
getAsMp3: ({data, url}) => console.log('After microphone stops recording and audio encoded to mp3'),
});
Basic usage:
<VueVoiceRecording
@getAsMp3="saveAsMp3"
></VueVoiceRecording>
With all options:
<VueVoiceRecording
@afterStartRecording="afterStart"
@afterStopRecording="afterStop"
@afterPauseRecording="afterPause"
@afterResumeRecording="afterResume"
@getAsMp3="saveAsMp3"
:showVisualization="true"
visualizationType="SineWave"
:visualizationOptions="{
width: 300,
height: 150,
strokeColor: '#212121',
backgroundColor: 'white',
}"
></VueVoiceRecording>
Option | Type | Default | Description |
---|---|---|---|
showVisualization | number | true | Whether to show the visualization |
visualizationType | SineWave , FrequencyBars , FrequencyCircles | SineWave | Audio Recording visualization type |
visualizationOptions | object | see below | Audio Recording visualization options |
const defaultVisualizationOptions = {
width: 300,
height: 150,
strokeColor: '#212121',
backgroundColor: 'white',
}
Event | Value | Description |
---|---|---|
afterStartRecording | void | After microphone start recording |
afterStopRecording | Blob | After microphone stop recording with recorded audio |
afterPauseRecording | void | When microphone pauses recording |
afterResumeRecording | void | When microphone resumes recording |
getAsMp3 | { data: Blob, url: string} | Get recorded audio as encoded to MP3 |
<VueVoiceRecording
v-slot="{
isRecording,
isPaused,
recordingTime,
recordingState,
toggleStartAndStop,
togglePauseAndResume,
startRecording,
resumeRecording
}"
>
<div class="vue-voice-recorder">
<div class="vue-voice-recorder__container">
<div class="vue-voice-recorder__start-and-stop" @click="toggleStartAndStop">
<div class="vue-voice-recorder__state">
<span v-if="isRecording" class="vue-voice-recorder__stop"></span>
<svg v-if="!isRecording" class="vue-voice-recorder__start"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
aria-hidden="true"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 24 24"
>
<path fill="currentColor"
d="M12 14q-1.25 0-2.125-.875T9 11V5q0-1.25.875-2.125T12 2q1.25 0 2.125.875T15 5v6q0 1.25-.875 2.125T12 14Zm-1 7v-3.075q-2.6-.35-4.3-2.325Q5 13.625 5 11h2q0 2.075 1.463 3.537Q9.925 16 12 16t3.538-1.463Q17 13.075 17 11h2q0 2.625-1.7 4.6q-1.7 1.975-4.3 2.325V21Z"></path>
</svg>
</div>
</div>
<template v-if="isRecording">
<div class="vue-voice-recorder__recording-time">
{{ recordingTime }}
</div>
<div class="vue-voice-recorder__pause-and-resume" @click="togglePauseAndResume">
<span :class="[!isPaused && 'vue-voice-recorder--blink']"></span>
<p>{{ recordingState }}</p>
</div>
</template>
</div>
<canvas v-if="props.showVisualization" :class="[!isRecording && 'visualization--hidden']" ref="canvas"></canvas>
</div>
</VueVoiceRecording>
FAQs
Microphone recorder for Vue
The npm package vue-voice-recording receives a total of 19 weekly downloads. As such, vue-voice-recording popularity was classified as not popular.
We found that vue-voice-recording demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.