AudioStreamMP3
MP3 звуковой поток драйвер.
MP3 звуковой поток драйвер.
Драйвер аудиопотока MP3. См. AudioStreamMP3.Data, если вы хотите загрузить файл MP3 во время выполнения. Дополнительную информацию можно найти в ResourceImporterMP3.
Примечание: Этот класс может опционально поддерживать устаревшие форматы MP1 и MP2 при условии, что движок скомпилирован с опцией SCons minimp3_extra_formats=yes. Эти дополнительные форматы не включены по умолчанию.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
AudioStreamMP3Конструктор
public AudioStreamMP3();Свойства6
BarBeatsСвойство
public int BarBeats { get; set; }Число музыкальных долей в такте, например 4 для четырёхдольного такта. Это метаданные композиции, а не число тактов в одной доле и не результат автоматического анализа звука.
BeatCountСвойство
public int BeatCount { get; set; }Длительность аудиодорожки в тактах. Фактическая длительность аудиофайла может быть больше, чем указано в этом свойстве. Определяет конец аудио для зацикливания, AudioStreamPlaylist и AudioStreamInteractive.
BpmСвойство
public double Bpm { get; set; }Темп аудиодорожки, измеряемый в ударах в минуту.
DataСвойство
public byte[] Data { get; set; }Содержит аудиоданные в байтах. Вы можете загрузить файл без необходимости его предварительного импорта, используя фрагмент кода ниже. Имейте в виду, что этот фрагмент загружает весь файл в память и может быть неидеальным для огромных файлов (сотни мегабайт и более).
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Свойство
public bool Loop { get; set; }Если true, воспроизведение потока возобновится с указанного значения AudioStreamMP3.LoopOffset после достижения конца аудиодорожки или после достижения конца последнего такта в соответствии с величиной, указанной в AudioStreamMP3.BeatCount. Полезно для фоновых звуков и музыки.
LoopOffsetСвойство
public double LoopOffset { get; set; }Позиция возврата петли в секундах, когда включён Loop. Не является точкой WAV в кадрах и не задаёт отдельный конец петли. Проверьте значение на настоящей записи.
Методы16
GetBarBeatsint
public int GetBarBeats();intGetBeatCountint
public int GetBeatCount();intGetBpmdouble
public double GetBpm();doubleGetDatabyte[]
public byte[] GetData();byte[]GetLoopOffsetdouble
public double GetLoopOffset();doubleHasLoopbool
public bool HasLoop();boolLoadFromBuffer2 перегрузки
public static AudioStreamMP3 LoadFromBuffer(byte[] streamData);Создает новый экземпляр AudioStreamMP3 из указанного буфера. Буфер должен содержать данные MP3.
| Имя | Тип | По умолчанию |
|---|---|---|
streamData | byte[] | — |
AudioStreamMP3public static AudioStreamMP3 LoadFromBuffer(ReadOnlySpan<byte> streamData);Создает новый экземпляр AudioStreamMP3 из указанного буфера. Буфер должен содержать данные MP3.
| Имя | Тип | По умолчанию |
|---|---|---|
streamData | ReadOnlySpan<byte> | — |
AudioStreamMP3LoadFromFileAudioStreamMP3
public static AudioStreamMP3 LoadFromFile(string path);Читает сырой аудиофайл напрямую, не применяя параметры .import редактора. Для ресурса проекта с применённым импортом используйте ResourceLoader.Load. Петлю и музыкальные параметры задайте у результата самостоятельно.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть к настоящему исходному файлу. Убедитесь, что он доступен в выбранной сборке; путь к импортированному ресурсу не гарантирует наличие исходных байтов.
AudioStreamMP3Загруженный аудиоресурс либо null при ошибке чтения или формата. Проверяйте результат до воспроизведения.
SetBarBeatsvoid
public void SetBarBeats(int count);| Имя | Тип | По умолчанию |
|---|---|---|
count | int | — |
SetBeatCountvoid
public void SetBeatCount(int count);| Имя | Тип | По умолчанию |
|---|---|---|
count | int | — |
SetBpmvoid
public void SetBpm(double bpm);| Имя | Тип | По умолчанию |
|---|---|---|
bpm | double | — |
SetData2 перегрузки
public void SetData(byte[] data);| Имя | Тип | По умолчанию |
|---|---|---|
data | byte[] | — |
public void SetData(ReadOnlySpan<byte> data);| Имя | Тип | По умолчанию |
|---|---|---|
data | ReadOnlySpan<byte> | — |
SetLoopvoid
public void SetLoop(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetLoopOffsetvoid
public void SetLoopOffset(double seconds);| Имя | Тип | По умолчанию |
|---|---|---|
seconds | double | — |