audio streaming support

Hello,

I’m trying to set up audio streaming to be used for in-game dialog lines. I’ve read that the Audio Streaming Options are still in the experimental phase, and indeed, I need to navigate to the General - Experimental tab under the Editor Preferences settings to expose the audio streaming options. I have also read that as of Oct '14, this feature only works on Windows. Is this true? What is the current state of audio streaming for UE4? I’m hoping that I’ve missed something obvious, and that this feature now exists in a stable form for Xbox and PS4 as well as Windows.

Hi David,

Unfortunately UE4 streaming is still only implemented on PC and it is indeed still experimental. I’ve pinged the engineer at Epic who wrote the audio streaming system to see if he has any suggestions.

I’d recommend using our async decoding feature which is working on PC/Xbox/PS4 and is our primary mechanism for audio playback of long files for Paragon. To enable async decoding automatically, make sure your sounds are playing in a “sound group” that has a time-threshold that is less than the assets you’d like to decode asynchronously. The groups are defined in BaseEngine.ini:

[/Script/Engine.SoundGroups]
+SoundGroupProfiles=(SoundGroup=SOUNDGROUP_Default, bAlwaysDecompressOnLoad=false, DecompressedDuration=5)
+SoundGroupProfiles=(SoundGroup=SOUNDGROUP_Effects, bAlwaysDecompressOnLoad=false, DecompressedDuration=5)
+SoundGroupProfiles=(SoundGroup=SOUNDGROUP_UI, bAlwaysDecompressOnLoad=false, DecompressedDuration=5)
+SoundGroupProfiles=(SoundGroup=SOUNDGROUP_Music, bAlwaysDecompressOnLoad=false, DecompressedDuration=0)
+SoundGroupProfiles=(SoundGroup=SOUNDGROUP_Voice, bAlwaysDecompressOnLoad=false, DecompressedDuration=0)

I plan on implementing audio streaming in the multiplatform audio mixer that I am currently working on but that feature is still a ways out.

-Aaron

Hi Aaron, since we’re releasing on mobile, and of all of UE4’s platforms that one can be the one with the least RAM available (dep. on device): do you have any suggestions in the meantime here for us to, say, play music on iOS & Android & not have a single massive decompressed audio data buffer loaded?

I’m a bit shocked to hear there isn’t an existing mechanism cross-platform for this already. It has been some years, but I recall having this in UE3 for our streamed music on 360 & PS3. Obviously there have been a lot of changes since; but wow, this will really limit our music possibilities if this is true. :confused:

-Matt

The UE3 streaming mechanism wasn’t viable in UE4 and when the PC streaming implementation was done as proof of concept the intention was always to follow on to complete the cross-platform implementations, however, for a variety of reasons other priorities pushed it to the side. It is something we are actively looking at how to get back up and running, ideally for 4.13 though it isn’t actually on the schedule yet,

I can’t say at the moment whether this work would be applicable to mobile, that’s something that needs discussion with the platform team. In UE3 for iOS there was play mp3 console command that could be used for music, however that doesn’t exist in UE4 at the moment to my knowledge. The trouble with that system is that it was divorced entirely from any other sound systems and required users manually marshalling the data in to the right places. The intention for UE4 had been to add a mechanism to attach a mp3 to a SoundWave such that on iOS (and possibly Android, that was TBD) when you played that SoundWave it would use the mp3 data. This would mean your play command was consistent across platforms and your data would be marshalled correctly.

Unfortunately, like the streaming, it just hasn’t been a burning enough priority to displace other priorities, but it is still the direction we want to be taking.