DOCUMENTATION
  • 🌐INTRODUCTION
  • ℹ️INFORMATION
  • 💲PAID SCRIPTS
    • 🎧Surround (Spatial Audio)
      • Introduction
      • Installation
      • API
        • Client
          • Set
          • Get
          • Handlers
        • Server
          • Set
          • Get
        • Shared
      • Examples
    • 🏨Motels
      • Introduction
        • Motel Manager
        • Customer
        • Rent Cycle
        • Share Key
        • Auto System
        • Admin
        • Logs
        • Configurable Codes
        • Optimization
      • Installation
  • 🆓FREE SCRIPTS
    • FiveM Manager Bot
      • INSTALLATION
Powered by GitBook
On this page
  • Play
  • Play Async
  • Attach To Entity
  • Detach From Entity
  • Attach To Player
  • Detach From Player
  • Stop
  • Pause
  • Resume
  • Destroy
  • Destroy All
  • Repeat
  • Add Filter
  • Remove Filter
  • To better manage sounds, see these three section

Was this helpful?

  1. PAID SCRIPTS
  2. Surround (Spatial Audio)
  3. API

Client

Manipulate the sound

PreviousAPINextSet

Last updated 2 months ago

Was this helpful?

Play

local soundId = exports['mx-surround']:Play(soundId, url, coords, loop, volume, panner)

This export is a synchronous function, which means that this code returns a soundId to you. And if sound is not created, it returns false

With 1.8.5 players who are far away from the song will not be able to get the maxDuration and timeStampof the song! If you want the far away player to get the maxDuration, you must use server side export

Parameters

  • soundId?: string

    • If not provided, will be created automatically

  • url: string

  • coords?: vector3

    • If not provided, its means that the sound is not dynamic. So player can hear it from everywhere

  • loop?: boolean

  • volume?: number

    • Override default volume (even if sound profile is enabled) (0.0 | 1.0)

  • panner?: PannerNode

Returns

  • soundId | false


Play Async

exports['mx-surround']:PlayAsync(soundId, url, coords, loop, volume, panner)

This is the same as a normal play export. The only difference is that it is async. So there is no return value


Attach To Entity

exports['mx-surround']:attachEntity(soundId, networkId)

Parameters

  • soundId: string

  • networkId: number


Detach From Entity

exports['mx-surround']:detachEntity(soundId)

Parameters

  • soundId: string


Attach To Player

If you are going to attach to a player, you can of course use the attachEntity. But you should definitely use this. Because if the player gets in the car, the script detects it with this export and filters the sound.

exports['mx-surround']:attachPlayer(soundId, playerId)

Parameters

  • soundId: string

  • playerId: number


Detach From Player

exports['mx-surround']:detachPlayer(soundId)

Parameters

  • soundId: string


Stop

The difference from Pause export is this: If you are playing a song on spotify or youtube, it completely deletes the player so that there is no player in the dom. This is very important for optimization

exports['mx-surround']:Stop(soundId)

Parameters

  • soundId: string


Pause

exports['mx-surround']:Pause(soundId)

Parameters

  • soundId: string


Resume

exports['mx-surround']:Resume(soundId)

Parameters

  • soundId: string


Destroy

exports['mx-surround']:Destroy(soundId)

Parameters

  • soundId: string


Destroy All

exports['mx-surround']:destroyAllSounds()

Repeat

exports['mx-surround']:repeatSound(soundId)

Parameters

  • soundId: string


Add Filter

exports['mx-surround']:addFilter(soundId, type, filter)

Parameters

  • soundId: string

  • type: string

  • filter: {frequency: number, Q: number, gain:number}


Remove Filter

exports['mx-surround']:removeFilter(soundId)

Parameters

  • soundId: string


To better manage sounds, see these three section

💲
🎧
See how to use
Set
Get
Handlers