Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.7.2

mic_stream

Um plugin para receber fluxos brutos de bytes do microfone do dispositivo. O áudio é retornado como `Stream`.

AndroidiOSmacOS
Downloads em 30 dias
725
Curtidas
99
Pontos Pub
130

Instalar pacote

flutter pub add mic_stream

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote mic_stream fornece uma maneira simples de acessar dados de áudio brutos do microfone do dispositivo usando um Stream em Dart. Ele permite a captura de áudio em tempo real no Android, iOS e macOS, tornando-o ideal para aplicações que exigem processamento de áudio de baixo nível, como reconhecimento de voz, visualização de som ou análise de áudio ao vivo. O plugin fornece bytes de áudio diretamente, permitindo que os desenvolvedores manipulem codificação, filtragem ou transmissão conforme necessário. Com configuração mínima por meio do Flutter pub add, integra-se perfeitamente em projetos existentes.

Casos de uso

  • Processamento de voz em tempo real
  • Visualização de áudio
  • Aplicativos controlados por voz
  • Transmissão ao vivo de áudio
  • Análise de som

Principais recursos

  • Saída de fluxo de bytes brutos
  • Suporte multiplataforma (Android, iOS, macOS)
  • Captura de áudio em tempo real
  • API baseada em fluxo simples
  • Leve e dependências mínimas

Indicado para

  • Desenvolvedores de ferramentas de análise de áudio
  • Aplicativos que exigem entrada de microfone com baixa latência
  • Projetos envolvendo processamento de áudio personalizado
  • Prototipagem de recursos com voz
  • Aplicativos de áudio móvel

Considerações

  • Requer permissões de microfone em todas as plataformas
  • Limitado a dados brutos em bytes (sem decodificação embutida)
  • Pode exigir tratamento adicional de formato de áudio
  • O desempenho depende das capacidades do dispositivo
  • Áudio de fundo pode ser restrito em algumas plataformas

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

mic_stream: 0.7.2

[Flutter Plugin] Provides a tool to get the microphone input as 8 or 16 bit PCM Stream. 32 bit and floating point PCM are experimental WIP.

About mic_stream:

As Flutter still lacks some functionality, this plugin aims to provide the possibility to easily get an audio stream from the microphone of mobile devices.

How to use:

The plugin mainly provides one method to provide a raw audio stream:

Stream<UInt8List> MicStream.microphone({options})

and a StreamTransformer to provide a Stream of individual samples (not lists of samples):

MicStream.toSampleStream

that you can use to transform your mic stream:

stream.transform(MicStream.toSampleStream)

Listening to this stream starts the audio recorder while cancelling the subscription stops the stream.

Available options are as follows:

audioSource: AudioSource      // The microphone you want to record from
sampleRate: int               // The amount of data points to record per second
channelConfig: ChannelConfig  // Mono or Stereo
audioFormat: AudioFormat      // 8 bit PCM or 16 bit PCM. Other formats are not yet supported

Some configuration options are platform dependent and can differ from the originally configured ones. You can check the real values using:

Future<int> sampleRate = await MicStream.sampleRate;
Future<int> bitDepth = await MicStream.bitDepth;
Future<int> bufferSize = await MicStream.bufferSize;
Permissions

Make sure you have microphone recording permissions enabled for your project. To do so, add this line to the AndroidManifest.xml:

<uses-permission android:name="android.permission.RECORD_AUDIO"/>

In the Info.plist:

<key>NSMicrophoneUsageDescription</key>
<string>Microphone access required</string>

You can disable the permission request dialogue by calling MicStream.shouldRequestPermission(false) This will lead to an error if no permission to record audio has been requested, though.

For MacOS:

Open macos/Runner.xcworkspace click Runner -> Signing & Capabilities -> Check "Audio Input"

Example:
// Init a new Stream
Stream<List<int>> stream = await MicStream.microphone(sampleRate: 44100);

// Start listening to the stream
StreamSubscription<List<int>> listener = stream.listen((samples) => print(samples));
// Transform the stream and print each sample individually
stream.transform(MicStream.toSampleStream).listen(print);
// Cancel the subscription
listener.cancel()

Note: This plugin is still under development, and some APIs might not be available yet. Feedback and Pull Requests are most welcome!

Categorias

Dependências

Lista de dependências 1 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.