AxibugEmuOnline/AxibugEmuOnline.Client/Assets/MyNes.Core/IAudioProvider.cs

30 lines
519 B
C#
Raw Normal View History

2024-07-03 18:22:22 +08:00
namespace MyNes.Core
2024-07-03 18:15:28 +08:00
{
2024-07-03 18:22:22 +08:00
public interface IAudioProvider
{
string Name { get; }
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
string ID { get; }
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
bool AllowBufferChange { get; }
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
bool AllowFrequencyChange { get; }
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void SubmitSamples(ref short[] buffer, ref int samples_added);
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void TogglePause(bool paused);
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void GetIsPlaying(out bool playing);
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void Initialize();
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void ShutDown();
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void Reset();
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void SignalToggle(bool started);
2024-07-03 18:15:28 +08:00
2024-07-03 18:22:22 +08:00
void SetVolume(int Vol);
}
2024-07-03 15:40:13 +08:00
}