AssetService:SearchAudio provides results that can't be played in-experience

We’ve been noticing an massive uptick in reports recently about “audio not being playable” in Clip It and we’ve discovered why.

If you use AssetService:SearchAudio Roblox will return results that can’t be played in game. This is harmful for our experience Clip It because we allow users to browse Roblox’s audio catalog for audio. We have found that the API returns audio that can’t be played in game.

If you enter this into your studio command bar (or paste it into a script) and check your output…

local AssetService = game:GetService("AssetService")

local audioSearchParams = Instance.new("AudioSearchParams")
audioSearchParams.SearchKeyword = "get out"
audioSearchParams.AudioSubType = Enum.AudioSubType.SoundEffect

local resultPages = AssetService:SearchAudio(audioSearchParams)

print(resultPages:GetCurrentPage())

You’ll see results like these…

Which we visualize for players in our experience’s “Insert Audio” interface like this:

When we try to play a sound from this page (such as the first result) we get these errors.

It doesn’t make sense for us to manually add the millions of audios Roblox has from this API. We would like for Roblox to either fix whatever issue is not allowing these audios to be played in our game, or to give us some way to filter out results that can’t be played from in-game (ideally using the AudioSearchParams in the AssetService:SearchAudio API that we use.

2 Likes

This was already reported & addressed:

3 Likes

I want to repeat @complexlint 's response from the other thread

We are planning on making changes in the future that will make free audio available in experiences without the creator of the experience needing the audio in their inventory. When this is added it should reduce the number of issues you get from this method.

We tested this change before the holidays and the team’s preparing to release it in the next few days. I’ll come back and update this thread next week, as we deploy it. We really believe this will make your use-case function a lot more smoothly.

2 Likes