パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v0.7.2

mic_stream

デバイスのマイクからの生バイトストリームを受信するためのプラグイン。音声は `Stream` として返されます。

AndroidiOSmacOS
30日間ダウンロード
725
いいね数
99
Pub ポイント
130

パッケージをインストール

flutter pub add mic_stream

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

mic_stream パッケージは、Dart ストリームを使用してデバイスのマイクから生のオーディオデータにアクセスする簡単な方法を提供します。Android、iOS、macOS でのリアルタイムオーディオキャプチャを可能にし、音声認識、サウンドの可視化、ライブオーディオ解析などの低レベルオーディオ処理が必要なアプリケーションに最適です。プラグインはオーディオバイトを直接提供し、開発者が必要に応じてエンコーディング、フィルタリング、または送信を処理できます。Flutter pub add を用いた最小限のセットアップで、既存のプロジェクトにスムーズに統合できます。

用途

  • リアルタイム音声処理
  • オーディオの可視化
  • 音声制御アプリ
  • ライブオーディオストリーミング
  • 音声分析

主な機能

  • 生バイトストリーム出力
  • クロスプラットフォーム対応(Android、iOS、macOS)
  • リアルタイムオーディオキャプチャ
  • シンプルなストリームベースの API
  • 軽量で最小限の依存関係

適している対象

  • オーディオ解析ツールを開発する開発者
  • 低遅延マイク入力が必要なアプリ
  • カスタムオーディオ処理を含むプロジェクト
  • 音声対応機能のプロトタイピング
  • モバイルオーディオアプリケーション

注意事項

  • すべてのプラットフォームでマイク権限が必要です
  • 生のバイトデータに限定(組み込みデコードなし)
  • 追加のオーディオフォーマット処理が必要になる場合があります
  • パフォーマンスはデバイスの機能に依存します
  • 一部のプラットフォームではバックグラウンドオーディオが制限される場合があります

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

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!

カテゴリー

依存関係

依存関係一覧 1 件

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。