mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-05-25 05:40:21 -04:00
Fix audio preview for some fmod formats. Close #53
This commit is contained in:
parent
f253c868d4
commit
c2095c4e7a
@ -1076,27 +1076,36 @@ namespace AssetStudioGUI
|
|||||||
if (m_AudioData == null || m_AudioData.Length == 0)
|
if (m_AudioData == null || m_AudioData.Length == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!m_AudioClip.IsConvertSupport())
|
|
||||||
{
|
|
||||||
if (m_AudioClip.version >= 5)
|
|
||||||
{
|
|
||||||
assetItem.InfoText +=
|
|
||||||
$"\nLength: {m_AudioClip.m_Length:0.0##}\n" +
|
|
||||||
$"Channel count: {m_AudioClip.m_Channels}\n" +
|
|
||||||
$"Sample rate: {m_AudioClip.m_Frequency}\n" +
|
|
||||||
$"Bit depth: {m_AudioClip.m_BitsPerSample}";
|
|
||||||
}
|
|
||||||
StatusStripUpdate("Preview is not available for non-fmod sounds. Try to export instead.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var exinfo = new FMOD.CREATESOUNDEXINFO();
|
var exinfo = new FMOD.CREATESOUNDEXINFO();
|
||||||
|
|
||||||
exinfo.cbsize = Marshal.SizeOf(exinfo);
|
exinfo.cbsize = Marshal.SizeOf(exinfo);
|
||||||
exinfo.length = (uint)m_AudioClip.m_Size;
|
exinfo.length = (uint)m_AudioClip.m_Size;
|
||||||
|
|
||||||
var result = system.createSound(m_AudioData, FMOD.MODE.OPENMEMORY | loopMode, ref exinfo, out sound);
|
var result = system.createSound(m_AudioData, FMOD.MODE.OPENMEMORY | loopMode, ref exinfo, out sound);
|
||||||
if (ERRCHECK(result)) return;
|
if (result != FMOD.RESULT.OK)
|
||||||
|
{
|
||||||
|
if (m_AudioClip.version < (2, 6) || m_AudioClip.version >= 5)
|
||||||
|
{
|
||||||
|
var legacyFormat = m_AudioClip.IsLegacyConvertSupport()
|
||||||
|
? "\nLegacy audio format: Raw wav data"
|
||||||
|
: "";
|
||||||
|
var channels = m_AudioClip.m_Channels > 0
|
||||||
|
? $"\nChannel count: {m_AudioClip.m_Channels}"
|
||||||
|
: "";
|
||||||
|
var bits = m_AudioClip.version >= 5
|
||||||
|
? $"\nBit depth: {m_AudioClip.m_BitsPerSample}"
|
||||||
|
: "";
|
||||||
|
assetItem.InfoText +=
|
||||||
|
legacyFormat +
|
||||||
|
$"\nLength: {m_AudioClip.m_Length:0.0##}" +
|
||||||
|
$"\nSample rate: {m_AudioClip.m_Frequency}" +
|
||||||
|
channels +
|
||||||
|
bits;
|
||||||
|
}
|
||||||
|
StatusStripUpdate("Preview not available: Unsupported fmod audio format. Try to export instead.");
|
||||||
|
FMODreset();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
sound.getNumSubSounds(out var numsubsounds);
|
sound.getNumSubSounds(out var numsubsounds);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user