<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 15.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 8.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ShazamKit",
  "identifier" : "/documentation/ShazamKit/SHSession/matchStreamingBuffer(_:at:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "ShazamKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SHSession(im)matchStreamingBuffer:atTime:"
  },
  "title" : "matchStreamingBuffer(_:at:)"
}
-->

# matchStreamingBuffer(_:at:)

Converts the audio in the buffer to a signature, and searches the reference signatures in the session catalog.

```
func matchStreamingBuffer(_ buffer: AVAudioPCMBuffer, at time: AVAudioTime?)
```

## Parameters

`buffer`

An audio buffer.

`time`

The start time of the audio to use for generating the signatures.

## Discussion

This method continues to generate signatures and perform searches until the audio in the buffer stops, which may result in multiple calls to the [`delegate`](/documentation/ShazamKit/SHSession/delegate).

The audio buffer must be in one of the supported formats. For the list of the supported audio formats, see [`append(_:at:)`](/documentation/ShazamKit/SHSignatureGenerator/append(_:at:)).

To use the microphone as input for the buffer, see [Matching audio using the built-in microphone](/documentation/ShazamKit/matching-audio-using-the-built-in-microphone).

> Note:
> You must use the audio format of the first call to this method in the current session in all subsequent calls for the session.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)