reckfellENGINE

AudioStreamMP3

MP3 звуковой поток драйвер.

На этой странице
class AudioStreamMP3ReckfellSharpНаследует AudioStream

MP3 звуковой поток драйвер.

Драйвер аудиопотока MP3. См. AudioStreamMP3.Data, если вы хотите загрузить файл MP3 во время выполнения. Дополнительную информацию можно найти в ResourceImporterMP3. Примечание: Этот класс может опционально поддерживать устаревшие форматы MP1 и MP2 при условии, что движок скомпилирован с опцией SCons minimp3_extra_formats=yes. Эти дополнительные форматы не включены по умолчанию.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

AudioStreamMP3Конструктор
# AudioStreamMP3
C#
public AudioStreamMP3();

Свойства6

BarBeatsСвойство
# BarBeats
C#
public int BarBeats { get; set; }

Число музыкальных долей в такте, например 4 для четырёхдольного такта. Это метаданные композиции, а не число тактов в одной доле и не результат автоматического анализа звука.

BeatCountСвойство
# BeatCount
C#
public int BeatCount { get; set; }

Длительность аудиодорожки в тактах. Фактическая длительность аудиофайла может быть больше, чем указано в этом свойстве. Определяет конец аудио для зацикливания, AudioStreamPlaylist и AudioStreamInteractive.

BpmСвойство
# Bpm
C#
public double Bpm { get; set; }

Темп аудиодорожки, измеряемый в ударах в минуту.

DataСвойство
# Data
C#
public byte[] Data { get; set; }

Содержит аудиоданные в байтах. Вы можете загрузить файл без необходимости его предварительного импорта, используя фрагмент кода ниже. Имейте в виду, что этот фрагмент загружает весь файл в память и может быть неидеальным для огромных файлов (сотни мегабайт и более).

C#
public AudioStreamMP3 LoadMP3(string path)
{
    using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);
    var sound = new AudioStreamMP3();
    sound.Data = file.GetBuffer(file.GetLength());
    return sound;
}
LoopСвойство
# Loop
C#
public bool Loop { get; set; }

Если true, воспроизведение потока возобновится с указанного значения AudioStreamMP3.LoopOffset после достижения конца аудиодорожки или после достижения конца последнего такта в соответствии с величиной, указанной в AudioStreamMP3.BeatCount. Полезно для фоновых звуков и музыки.

LoopOffsetСвойство
# LoopOffset
C#
public double LoopOffset { get; set; }

Позиция возврата петли в секундах, когда включён Loop. Не является точкой WAV в кадрах и не задаёт отдельный конец петли. Проверьте значение на настоящей записи.

Методы16

GetBarBeatsint
# GetBarBeats
C#
public int GetBarBeats();
Возвращает int
GetBeatCountint
# GetBeatCount
C#
public int GetBeatCount();
Возвращает int
GetBpmdouble
# GetBpm
C#
public double GetBpm();
Возвращает double
GetDatabyte[]
# GetData
C#
public byte[] GetData();
Возвращает byte[]
GetLoopOffsetdouble
# GetLoopOffset
C#
public double GetLoopOffset();
Возвращает double
HasLoopbool
# HasLoop
C#
public bool HasLoop();
Возвращает bool
LoadFromBuffer2 перегрузки
# LoadFromBuffer · 1/2
C#
public static AudioStreamMP3 LoadFromBuffer(byte[] streamData);

Создает новый экземпляр AudioStreamMP3 из указанного буфера. Буфер должен содержать данные MP3.

Параметры
ИмяТипПо умолчанию
streamDatabyte[]—
Возвращает AudioStreamMP3
# LoadFromBuffer · 2/2
C#
public static AudioStreamMP3 LoadFromBuffer(ReadOnlySpan<byte> streamData);

Создает новый экземпляр AudioStreamMP3 из указанного буфера. Буфер должен содержать данные MP3.

Параметры
ИмяТипПо умолчанию
streamDataReadOnlySpan<byte>—
Возвращает AudioStreamMP3
LoadFromFileAudioStreamMP3
# LoadFromFile
C#
public static AudioStreamMP3 LoadFromFile(string path);

Читает сырой аудиофайл напрямую, не применяя параметры .import редактора. Для ресурса проекта с применённым импортом используйте ResourceLoader.Load. Петлю и музыкальные параметры задайте у результата самостоятельно.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь к настоящему исходному файлу. Убедитесь, что он доступен в выбранной сборке; путь к импортированному ресурсу не гарантирует наличие исходных байтов.

Возвращает AudioStreamMP3

Загруженный аудиоресурс либо null при ошибке чтения или формата. Проверяйте результат до воспроизведения.

SetBarBeatsvoid
# SetBarBeats
C#
public void SetBarBeats(int count);
Параметры
ИмяТипПо умолчанию
countint—
SetBeatCountvoid
# SetBeatCount
C#
public void SetBeatCount(int count);
Параметры
ИмяТипПо умолчанию
countint—
SetBpmvoid
# SetBpm
C#
public void SetBpm(double bpm);
Параметры
ИмяТипПо умолчанию
bpmdouble—
SetData2 перегрузки
# SetData · 1/2
C#
public void SetData(byte[] data);
Параметры
ИмяТипПо умолчанию
databyte[]—
# SetData · 2/2
C#
public void SetData(ReadOnlySpan<byte> data);
Параметры
ИмяТипПо умолчанию
dataReadOnlySpan<byte>—
SetLoopvoid
# SetLoop
C#
public void SetLoop(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetLoopOffsetvoid
# SetLoopOffset
C#
public void SetLoopOffset(double seconds);
Параметры
ИмяТипПо умолчанию
secondsdouble—
Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.