AudioStreamOggVorbis
Класс, представляющий аудиопоток Огг Ворбис.
Класс, представляющий аудиопоток Огг Ворбис.
Класс AudioStreamOggVorbis — это специализированный класс AudioStream для обработки файлов формата Огг Ворбис. Он предоставляет функциональность для загрузки и воспроизведения файлов Огг Ворбис, а также для управления зацикливанием и другими свойствами воспроизведения. Дополнительную информацию можно найти в ResourceImporterOggVorbis.
Этот класс является частью системы аудиопотоков, которая также поддерживает файлы WAV через класс AudioStreamWav и файлы MP3 через класс AudioStreamMP3.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
AudioStreamOggVorbisКонструктор
public AudioStreamOggVorbis();Свойства7
BarBeatsСвойство
public int BarBeats { get; set; }Число музыкальных долей в такте, например 4 для четырёхдольного такта. Это метаданные композиции, а не число тактов в одной доле и не результат автоматического анализа звука.
BeatCountСвойство
public int BeatCount { get; set; }Длительность аудиодорожки в тактах. Фактическая длительность аудиофайла может быть больше, чем указано в этом свойстве. Определяет конец аудио для зацикливания, AudioStreamPlaylist и AudioStreamInteractive.
BpmСвойство
public double Bpm { get; set; }Темп аудиодорожки, измеряемый в ударах в минуту.
LoopСвойство
public bool Loop { get; set; }Если true, воспроизведение потока возобновится с указанного значения AudioStreamOggVorbis.LoopOffset после достижения конца аудиодорожки или после достижения конца последнего такта в соответствии с величиной, указанной в AudioStreamOggVorbis.BeatCount. Полезно для фоновых звуков и музыки.
LoopOffsetСвойство
public double LoopOffset { get; set; }Позиция возврата петли в секундах, когда включён Loop. Не является точкой WAV в кадрах и не задаёт отдельный конец петли. Проверьте значение на настоящей записи.
PacketSequenceСвойство
public OggPacketSequence PacketSequence { get; set; }Содержит необработанные данные Ogg для этого потока.
TagsСвойство
public Reckfell.Collections.Dictionary Tags { get; set; }Содержит пользовательские теги, если они найдены в данных Огг Ворбис.
Обычно используемые теги включают title, artist, album, tracknumber и date, (date не имеет стандартного формата даты).
Примечание: Не все теги гарантированно присутствует в каждом файле, поэтому обязательно учитывайте ключи, которые не всегда существуют.
Методы17
GetBarBeatsint
public int GetBarBeats();intGetBeatCountint
public int GetBeatCount();intGetBpmdouble
public double GetBpm();doubleGetLoopOffsetdouble
public double GetLoopOffset();doubleGetPacketSequenceOggPacketSequence
public OggPacketSequence GetPacketSequence();OggPacketSequenceGetTagsReckfell.Collections.Dictionary
public Reckfell.Collections.Dictionary GetTags();Reckfell.Collections.DictionaryHasLoopbool
public bool HasLoop();boolLoadFromBuffer2 перегрузки
public static AudioStreamOggVorbis LoadFromBuffer(byte[] streamData);Создает новый экземпляр AudioStreamOggVorbis из указанного буфера. Буфер должен содержать данные Огг Ворбис.
| Имя | Тип | По умолчанию |
|---|---|---|
streamData | byte[] | — |
AudioStreamOggVorbispublic static AudioStreamOggVorbis LoadFromBuffer(ReadOnlySpan<byte> streamData);Создает новый экземпляр AudioStreamOggVorbis из указанного буфера. Буфер должен содержать данные Огг Ворбис.
| Имя | Тип | По умолчанию |
|---|---|---|
streamData | ReadOnlySpan<byte> | — |
AudioStreamOggVorbisLoadFromFileAudioStreamOggVorbis
public static AudioStreamOggVorbis LoadFromFile(string path);Читает сырой аудиофайл напрямую, не применяя параметры .import редактора. Для ресурса проекта с применённым импортом используйте ResourceLoader.Load. Петлю и музыкальные параметры задайте у результата самостоятельно.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть к настоящему исходному файлу. Убедитесь, что он доступен в выбранной сборке; путь к импортированному ресурсу не гарантирует наличие исходных байтов.
AudioStreamOggVorbisЗагруженный аудиоресурс либо 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 | — |
SetLoopvoid
public void SetLoop(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetLoopOffsetvoid
public void SetLoopOffset(double seconds);| Имя | Тип | По умолчанию |
|---|---|---|
seconds | double | — |
SetPacketSequencevoid
public void SetPacketSequence(OggPacketSequence packetSequence);| Имя | Тип | По умолчанию |
|---|---|---|
packetSequence | OggPacketSequence | — |
SetTagsvoid
public void SetTags(Reckfell.Collections.Dictionary tags);| Имя | Тип | По умолчанию |
|---|---|---|
tags | Reckfell.Collections.Dictionary | — |